c語言運費
㈠ c語言算運費的題,要求用switch語句 這是抄老師的答案,我的編譯器報錯為說多個main入口
與代碼本身無關,說明你是在其他的工程里打開的源文件
退出IDE後,重新打開源文件,讓IDE用默認的配置重新建立工程配置信息,重新編譯
㈡ 用C語言編寫程序,輸入路程直接得出運費
#include <stdio.h>
float Calculation(float ,float);
int main()
{
float j = 0, k = 0;
printf("請輸入你的正常運費和路程:");
if (scanf("%f %f", &j, &k) == 2)
printf("經計算你的運費是:%.2f", Calculation(j, k));
else
printf("你輸入的不規范");
getchar();
return 0;
}
float Calculation(float j, float k)
{
if (k > 3000)
return j * k * (1 - (float)15 / 100);
else if (k > 2000)
return j * k * (1 - (float)10 / 100);
else if (k > 1000)
return j * k * (1 - (float)8 / 100);
else if (k > 500)
return j * k * (1 - (float)5 / 100);
else if (k > 250)
return j * k * (1 - (float)2 / 100);
else
return j * k;
}
㈢ c語言求運費
你的程序里,switch的表達式d是浮點數,但C規定這里。不能是浮點數,只能是整形或其他類型。其實實現很簡單,用s去除250這個單位距離就好了,得出的商就是超過的距離數,你看看:
#include<stdio.h>
int main()
{
double f,p,w,d,s,y;
printf("3 ge shu\n");
scanf("%lf %lf %lf",&p,&w,&s);
switch((int)s/250)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:d=0.05;break;
case 4:d=0.08;break;
case 8:d=0.1;break;
case 12:d=0.15;break;
default: d=0.15;break;
}
f=p*w*s*(1-d);
printf("f=%.2lf d=%.2lf\n",f,d);
}
㈣ C語言 運輸公司對用戶計算運費~
首先 d不要定義成double, 要定義成int
然後,d給它一個初始值, 用1
也就是 開始的double d,f; int p , w, s;
改成
intd=1;
doublep,w,s,f;
scanf("%lf%lf%lf",&p,&w,&s);
其它的 可以不用動