大侠们帮着看看,这个小程序运行为什么会这样?
#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;
}
运行的时候输入完数字按回车没用,不输出结果,只有输入一个字符再按回车才有结果,这是为什么呀?
搜索更多相关的解决方案:
运行
----------------解决方案--------------------------------------------------------
scanf("%lf\n",&i); 这句话应该这样写:scanf("%lf",&i);
----------------解决方案--------------------------------------------------------
scanf格式是很严格的。[size=5][/size]
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
谢谢!我基础太差了,以后还得多多学习呀!
----------------解决方案--------------------------------------------------------
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)” 这样的格式。
你再改改,应该成功的。
----------------解决方案--------------------------------------------------------
你说的算是一个错误,前提是在TC环境下!
但在vc编译环境下不算错误!我已经运行出结果了!
主要还是scanf函数使用的不对!
这里还是很感谢!
----------------解决方案--------------------------------------------------------
饿看还是要规范书写 scanf(" ",& ); 比如 scanf("%d%d"&a,&b); 里面最好不要加入换行等字符
----------------解决方案--------------------------------------------------------
饿错了 是 scanf("%d%d",&a,&b);
----------------解决方案--------------------------------------------------------
回复 8# 的帖子
呵呵,我觉得应该这么写,否则小程序还行,如果输入字符多了,键盘存在缓冲问题:scanf(" %d %d",&a,&b);
puts(" ");
----------------解决方案--------------------------------------------------------