| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 669 人关注过本帖
标题:大侠们帮着看看,这个小程序运行为什么会这样?
只看楼主 加入收藏
☆Jony☆
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-2-22
收藏
 问题点数:0 回复次数:8 
大侠们帮着看看,这个小程序运行为什么会这样?
#include "stdio.h"
#include"stdlib.h"
int main(void)
{
double i;
double ticheng,t1,t2,t3,t4,t5;
 
 t1=100000*0.1;
 t2=t1+100000*0.075;
 t3=t1+t2+200000*0.05;
 t4=t1+t2+t3+200000*0.03;
 t5=t1+t2+t3+t4+400000*0.015;
 
 printf("Please input the total value:");
 scanf("%lf\n",&i);   
 
 if(i<=100000)
 {ticheng=i*0.1;}
 else if(100000<i<=200000)
 {ticheng=t1+(i-100000)*0.075;}
 else if(200000<i<=400000)
 {ticheng=t2+(i-200000)*0.05;}
 else if(400000<i<=600000)
 {ticheng=t3+(i-400000)*0.03;}
 else if(600000<i<=1000000)
 {ticheng=t4+(i-600000)*0.015;}
 else if(i>1000000)
 {ticheng=t5+(i-1000000)*0.01;}
 
 printf("your ticheng is :%lf\n",ticheng);
 
 system("PAUSE");
 
 return 0;
}
运行的时候输入完数字按回车没用,不输出结果,只有输入一个字符再按回车才有结果,这是为什么呀?

未命名.jpg (9.63 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 运行 
2008-03-09 10:10
Love嵌入式
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2008-3-4
收藏
得分:0 
scanf("%lf\n",&i);   这句话应该这样写:scanf("%lf",&i);   
2008-03-09 10:25
Love嵌入式
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2008-3-4
收藏
得分:0 
scanf格式是很严格的。[size=5][/size]
2008-03-09 10:27
☆Jony☆
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-2-22
收藏
得分:0 
回复 3# 的帖子
谢谢!
我基础太差了,以后还得多多学习呀!

☆滴水穿石☆水滴石穿☆
QQ:920633639
2008-03-09 10:38
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
ticheng=i*0.1;}
else if(100000<i<=200000)
{ticheng=t1+(i-100000)*0.075;}
else if(200000<i<=400000)
{ticheng=t2+(i-200000)*0.05;}
else if(400000<i<=600000)
{ticheng=t3+(i-400000)*0.03;}
else if(600000<i<=1000000)
{ticheng=t4+(i-600000)*0.015;}
else if(i>1000000)

红色字体的是错误的表达式,应该是  “if(i>400000&&i<600000)”  这样的格式。  

你再改改,应该成功的。
2008-03-09 16:33
☆Jony☆
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-2-22
收藏
得分:0 
你说的算是一个错误,前提是在TC环境下!
但在vc编译环境下不算错误!我已经运行出结果了!
主要还是scanf函数使用的不对!
这里还是很感谢!

☆滴水穿石☆水滴石穿☆
QQ:920633639
2008-03-09 16:48
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
饿看还是要规范书写 scanf(" ",& );  比如 scanf("%d%d"&a,&b); 里面最好不要加入换行等字符

------...-.-..-...-----........-------.......----.....------....||- - !
2008-03-10 20:02
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
饿错了 是 scanf("%d%d",&a,&b);

------...-.-..-...-----........-------.......----.....------....||- - !
2008-03-10 20:02
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 8# 的帖子
呵呵,我觉得应该这么写,否则小程序还行,如果输入字符多了,键盘存在缓冲问题:

scanf("  %d %d",&a,&b);
puts(" ");
2008-03-10 20:56
快速回复:大侠们帮着看看,这个小程序运行为什么会这样?
数据加载中...
 
   



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

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