永发信息网

帮忙看看这个简单C代码哪有出了问题,谢谢!

答案:3  悬赏:0  手机版
解决时间 2021-05-15 19:48

main()
{
int c,s;
float p,w,d,f;
printf("请输入每吨货物的基本运费,货物重量,运输距离:");
scanf("%f,%f,%f",&p,&w,&s);
if(c>=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.0);
printf("运费=%15.4f",f);
}

结果是请输入每吨货物的基本运费,货物重量,运输距离:100,20,300
运费=1927636582400.0000

怎么会这样,谢谢解释一下啊!


最佳答案

你的程序在获取输入的时候只有p w s 但是后面的if却用c来判断... 无法理解.. c根本就没有赋值.


另外.s是定义成Int类型的. 但是你在scanf中s的输入格式却是%f.



scanf("%f,%f,%f",&p,&w,&s);
if(c>=3000)c=12;

全部回答

case 后面要有break的呀。。。

scanf("%f,%f,%d",&p,&w,&s);//注意变量类型!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我加不了他
windows7 的系统碟难装吗?
宽带是怎样开通QQ业务的?
为什么人总是那么狗
卡罗拉1.6有6速手动吗?
求教!关于系统盘(C盘)格式信息全无解决方
考研加油语录,感冒发烧可以吃鸡汤吗
诺基亚老总是谁?
新蔡县驻马店好又多购物广场在什么地方啊,我
我的MP4插了数据线为什么就是没有BOOK这个文
哪位大哥大姐能送我一个80的好号有神器我很想
深爱 钢琴版的链接
沙市区荆州茉莉花开酒店(浅水湾店)怎么去啊,
阿斗当官下一句,字字诛心是什么意思
哪种花是最美的
推荐资讯
卫滨区新乡超级队长VR体验店地址是什么,有没
一起来看流星雨2多少集
吃什么能胖一些,怎样才能把身体升高,如何保
岳阳楼区岳阳菩提树瑜伽馆(天虹店)在什么地方
为什么彼此之间是爱的,却不能在一起?
低压电笔测量高压电会什么后果?
平房区哈尔滨强生英语文化学苑地址是什么,有
摩托XT702问题
毕业希望再见的句子,关于再见的句子
卧龙区南阳红高粱酒坊(麒麟路店)地址在什么地
新化县娄底鸿豪农家菜这个地址在什么地方,我
现在腾讯最火的网游是什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?