用C语言写出下面题目的程序,要用switch和if分别写出。 一共是两个程序。

2025-04-07 05:10:53
推荐回答(3个)
回答1:

#include
void Project1()
{
float w;
float val = 0;
printf("请问行李重量是多少(kg)?\n");
scanf("%f",&w);
if (w > 1)
{
if (w < 10)
{
val = 10 + (w-1)*0.5;
}
else if (w > 10 && w < 50)
{
val = 10 + (w-10)*0.3 + 9*0.5;
}
else
{
val = 10 + (w-50)*0.1 + 40*0.3 + 9*0.5;
}
}
else
{
val = 10;
}
printf("应该收取金额为");
printf("%5.2f\n",val);
}

void Project2()
{
float val = 0;
float w;
int temp;
printf("请问要运载多少公斤的货物?\n");
scanf("%f",&w);
if (w < 1)
{
val = 10;
}
else
{
temp = w/10;
switch (temp)
{
case 0:
val = 10 + (w-1)*0.5;
break;
case 1:case 2:case 3:case 4:
val = 10 + (w-10)*0.3 + 9*0.5;
break;
default:
val = 10 + (w-50)*0.1 + 40*0.3 + 9*0.5;
break;
}
}
printf("应该收取金额为");
printf("%5.2f\n",val);

}

void main()
{
Project1();
Project2();

}
测试通过。

回答2:

main(){float w;
scanf("f%",&w);
if(w<=0)
printf ("error");
else if(int(w)/1==0)
printf ("f=10");
else if(int(w)/10==0)
printf ("f=%f",(w-1)*0.5+10);
else if(w>10.0&&w<50.0)
printf ("f=%f",(w-1)*0.3+10);
else printf("f=f%",(w-1)*0.1+10);/*手机打的*/}

回答3:

这个简单嘛,自己初学者都应该能够自己写的出来