| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:大家看看这个程序哪里错了呀?怎么不出结果哦!!!
只看楼主 加入收藏
天涯天下去
Rank: 2
等 级:论坛游民
帖 子:41
专家分:35
注 册:2010-12-2
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:5 
大家看看这个程序哪里错了呀?怎么不出结果哦!!!
运输公司对用户计算运费,运输距离(以s表示,单位为千米)越远,单位运费(以每吨·千米为单位)越低。计算标准如下:
    s<250             没有折扣
    250<=s<500        2%折扣
    500<=s<1000       5%折扣
    100<=s<2000       8%折扣
    2000<=s<3000      10%折扣
    3000<=s           15%折扣
设每吨千米货物的运费为p(price的缩写),货物重为w,距离为s,折扣为d,则总运费f的计算公式为
                  f=p*w*s*(1-d)

代码:
# include <stdio.h>
void main()
{
int i,s;
double p,w,d,f;
printf("请输入单价、重量和距离:");
scanf("%f,%f,%d",&p,&w,&s);
if (s>=3000) i=12;
else i=s/250;
switch (i)
{
case 0:d=0;break;
case 1:d=.02;break;
case 2:
case 3:d=.05;break;
case 4:
case 5:
case 6:
case 7:d=.08;break;
case 8:
case 9:
case 10:
case 11:d=.1;break;
case 12:d=.15;break;
}
   f=p*w*s*(1-d);
   printf("运费为:%10.2f\n",f);

}
大家看下哪里不对哦!!怎么不出结果哦!
搜索更多相关主题的帖子: 结果 
2010-12-07 09:48
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:2 
double p,w,d,f;
你这里数据类型错了,改成 float 型就OK了

没事来C一下...   
2010-12-07 10:51
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:3 
scanf("%f,%f,%d",&p,&w,&s); 要严格按分号里面的格式输入,要有数据之间要有,的。

2010-12-07 11:13
天涯天下去
Rank: 2
等 级:论坛游民
帖 子:41
专家分:35
注 册:2010-12-2
收藏
得分:0 
输入的格式没错哦  改为float后  也是不行哦  最后显示一大串的00000000000000000

学无止境
2010-12-07 11:39
天涯天下去
Rank: 2
等 级:论坛游民
帖 子:41
专家分:35
注 册:2010-12-2
收藏
得分:0 
弄明白了  double类型的输入要用%lf
当换为  float时会出现警告  warning C4305: '=' : truncation from 'const double ' to 'float '不知道什么情况哦

学无止境
2010-12-07 11:58
xin310923
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:203
专家分:325
注 册:2009-12-22
收藏
得分:0 
C语言的   程序代码,悲剧了,如果按照严格定义的标准来看,这个版块貌似是C++。
2010-12-07 16:00
快速回复:大家看看这个程序哪里错了呀?怎么不出结果哦!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047952 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved