| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 785 人关注过本帖
标题:C程序错误
只看楼主 加入收藏
hujian_2003
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-26
收藏
 问题点数:0 回复次数:6 
C程序错误
我的一个C程序出错但不只不知道错在哪里,请高手指教,谢谢!
#include "stdio.h"
void main()
{float i,a,b,c,d,e,f;
    a=10*0.1;
    b=10*0.075;
    c=20*0.05;
    d=20*0.03;
    e=40*0.015;
    scanf("%f\n",&i);
    if(i<=10)f=i*0.1;
    else if(i<=20)f=a+(i-10)*0.075;
    else if(i<=40)f=a+b+(i-20)*0.05;
    else if(i<=60)f=a+b+c+(i-40)*0.03;
    else if(i<=100)f=a+b+c+d+(i-60)*0.015;
    else f=a+b+c+d+e+(i-100)*0.01;
    printf("%f",f);
   
}
搜索更多相关主题的帖子: 程序错误 
2008-03-26 14:09
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
不知道你说的错误是什么!我运行没发现错误!
建议几点:
scanf("%f\n",&i);输入时\n要原样输入 比如30\n回车,显然你的意思应该是scanf("%f",&i);
浮点数最好不要用float,建议用double
if else不要嵌套层次太多!这样的可以用switch替代!
main函数的返回类型用int
2008-03-26 14:26
hujian_2003
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-26
收藏
得分:0 
回复 2# 的帖子
这个程序我运行的时候就是要输入两个数据才能显示结果,而第二个数据对程序不起作用。但我的程序是只需要输入一个数据就能出结果的,不知道错在哪里?
我是在《C与C++程序设计学习与实验系统》上运行的
2008-03-26 14:33
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
float类型赋值语句后面跟上后缀 f
float类型最好不要和int类型比较,比较时最好控制范围

without further ado, let’s get started
2008-03-26 14:37
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
scanf("%f\n",&i); 去掉\n
改成 scanf("%f\n",&i); fflush(stdin) ;

without further ado, let’s get started
2008-03-26 14:41
hujian_2003
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-26
收藏
得分:0 
回复 5# 的帖子
谢谢!去掉\n后,确实就正常了
这是为什么啊?
我只给了四个输入变量啊?但多个\n怎么就要输入五个数值才能运行呢?
2008-03-26 14:45
wo0304
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-3-25
收藏
得分:0 
回复5#的!
去掉\n即可,
2008-03-26 15:33
快速回复:C程序错误
数据加载中...
 
   



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

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