我不知道这个程序有什么问题???????????
#include <stdio.h>void main()
{
double p,w,s,f;
printf("请依此输入基本运费,物重,路程:");
scanf("%lf%lf%lf",&p,&w,&s);
if(s<250)
{
f=p*w*s;
}
else
{
if(s=250 && 250<s<500)
{
f=p*w*s*(1-0.02);
}
else
{
if(s=500 && 500<s<1000)
{
f=p*w*s*(1-0.05);
}
else
{
if(s=1000 && 1000<s<2000)
{
f=p*w*s*(1-0.08);
}
else
{
if(s=2000 && 2000<s<3000)
{
f=p*w*s*(1-0.1);
}
else
{
if(s=3000 && s>3000)
{
f=p*w*s*(1-0.15);
}
}
}
}
}
}
printf("%lf\n",&f);
}
#include <stdio.h>
void main()
{
double p, w, s, f=0;
printf("基本运费: ");
scanf("%lf", &p);//你要人输入你得写输入函数啊...
printf("物重: ");
scanf("%lf", &w);
printf("路程: ");
scanf("%lf", &s);
if(s < 250) //if else不用钱啊,省着点花,或者用?:这个判断
{
f = p * w * s;
}
else if(s >= 250 && s < 500)//大于等于不是那么写的(大于等于<=,小于等于>=,等于==)
{
f = p * w * s *(1-0.02);
}
else if(s >= 500 && s < 1000)
{
f = p * w * s * (1-0.05);
}
else if(s >= 1000 && s < 2000)
{
f = p * w * s * (1-0.08);
}
else if(s >= 2000 && s < 3000)
{
f = p * w * s * (1-0.1);
}
else if(s >= 3000)
{
f = p * w * s *(1-0.15);
}
printf("总额为: %lf\n", f); //这里不要用&取址符
} Push 发表于 2012-3-2 00:07 static/image/common/back.gif
我试了可以,可是为什么我的算出来是等于0 Push 发表于 2012-3-2 00:07 static/image/common/back.gif
#include <stdio.h>
void main()
{
double p,w,s,f;
printf("请依此输入基本运费,物重,路程:");
scanf("%lf%lf%lf",&p,&w,&s);
if(s < 250)
{
f=p*w*s;
}
else
{
if(s >= 250 && s <= 500)
{
f=p*w*s*(1-0.02);
}
else
{
if(s >= 500 && s <= 1000)
{
f=p*w*s*(1-0.05);
}
else
{
if(s >=1000 && s <= 2000)
{
f=p*w*s*(1-0.08);
}
else
{
if(s >=2000 && s <= 3000)
{
f=p*w*s*(1-0.1);
}
else
{
if(s >= 3000)
{
f=p*w*s*(1-0.15);
}
}
}
}
}
}
printf("%lf\n",f);
} 要遵守c语言的方式而不是直接数学计算 (s=250 && 250<s<500)这里错了,应该是(s>=250&&s<500) #include <stdio.h>
int main()
{
double p,w,s,f;//定义变量
int t;
printf("请以此输入基本运费,物重,路程\n");
scanf("%lf,%lf,%lf",&p,&w,&s);
//判断s是否大于3000,若大于则令t=12否则t=s/250
if (s>=3000)
t=12;
else
t=s/250;
//用switch语句判断不同路程所需的运费
switch (t)
{
case 0:printf("f=%f\n",f=p*w*s);break;
case 1:printf("f=%f\n",f=p*w*s*(1-0.02));break;
case 2:
case 3:printf("f=%f\n",f=p*w*s*(1-0.05));break;
case 4:
case 5:
case 6:
case 7:printf("%f\n",f=p*w*s*(1-0.08));break;
case 8:
case 9:
case 10:
case 11:printf("f=%f\n",f=p*w*s*(1-0.1));break;
case 12:printf("f=%f\n",f=p*w*s*(1-0.15));break;
default:printf("输入错误\n");
}
return 0;
}
这是用switch编的 凑合着看吧 很不错呀,多谢分享!
页:
[1]