同样的代码,codeblocks为什么运行结果错误?
codeblocks吧
全部回复
仅看楼主
level 2
#include <stdio.h>
int main(void)
{
int c,s;
float f,p,w,d;
printf("please enter price,weight,discount:");
scanf("%f,%f,%d",&p,&w,&s);
if (s>=3000)
c=12;
else
c=(s/250);
switch(c){
case 0:d=0.00;break;
case 1:d=0.02;break;
case 2:
case 3:d=0.05;break;
case 4:
case 5:
case 6:
case 7:d=0.08;break;
case 8:
case 9:
case 10:
case 11:d=0.10;break;
case 12:d=0.15;break;
}
f=p*w*s*(1-d);
printf("the freight is %8.2f\n",f);
return 0;
}
2014年08月02日 09点08分 1
level 2
这段代码在VC ++6.0上运行计算结果正常
2014年08月02日 09点08分 2
level 9
试试看改成
scanf("%f%f%d", &p, &w, &s);
2014年08月02日 09点08分 3
level 1
我一分钟以前刚装好,运行之,没出错。
大概是你的目录没有设置成英文吧,,或者目录有空格。。
我是winxp 32位。
2014年08月03日 02点08分 5
你算出的结果不是-0.000吗
2014年08月03日 03点08分
level 2
换了下编译器一切正常了[开心]
2014年08月03日 05点08分 6
请问你换成什么编译器了?
2016年03月04日 06点03分
level 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,s;
float p,w,d,f;
printf("please enter price,weight,discount:");
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000)
c=12;
else
c=s/250;
switch(c)
{
case 0:d=0;break;
case 1:d=2;break;
case 2:
case 3:d=5;break;
case 4:
case 5:
case 6:
case 7:d=8;break;
case 8:
case 9:
case 10:
case 11:d=10;break;
case 12:d=15;break;
}
f=p*w*s*(1-d/100);
printf("freight=%10.2f\n",f);
return 0;
}
2018年01月28日 10点01分 7
1