我按照书上的内容输进去了,输出窗口却出现了好多没用的数字。。。。
本来是要输数据进去使程序运行的。。。根本输不了。。。。
是不是我少了什么数据类型转换。。。。。
我是个渣什么都不清楚O.o
#include <stdio.h>#include <math.h>void main(){ int number; double cost,price,total; printf("please enter number and price"); printf("%d,%lf",&number,&price); if (number>=500) cost=0.15; else if (number>=300) cost=0.10; else if (number>=100) cost=0.075; else if (number>=50) cost=0.05; else cost=0; total=price*number*(1-cost); printf("total=%10.2f\n",total);}
目测,你的结果是因为你的逗号是中文的……
VC++6.0运行结果
神马是total初始化一下.......T T
还有sprintf书上没出现过.......QAQ
改了....新问题在下面.......
追答我的没问题
#include <stdio.h>
#include <math.h>
void main()
{
int number;
double cost,price,total;
printf("please enter number and price");
scanf("%d,%lf",&number,&price);
if (number>=500) cost=0.15;
else if (number>=300) cost=0.10;
else if (number>=100) cost=0.075;
else if (number>=50) cost=0.05;
else cost=0;
total=price*number*(1-cost);
printf("total=%10.2f\n",total);
system("pause");
}
结果
因为你的 scanf("%d,%lf",&number,&price);中的%d,%lf之间用的是","逗号,所以输入第一个变量时要用“,”逗号结束,输入第二个变量后再回车,中间不能有回车 或者空格
贴了~
前辈求指导><