学校实验课的作业,因为是新学的我基础不好,运行结果一直不对,求大佬指点 无论我输入什么数,输出结果总是这个
[quote=引用 2 楼 SuperDay的回复:]请在scanf之后确认abc的输入是否正常
[quote=引用 4 楼 SuperDay的回复:]printf出来啊,scanf不是你想象的那么简单
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c); 注意上面一行代码,是用逗号分割的,所以你的输入应该是1,2,3而不是1 2 3 这才是问题的根结(scanf内部会根据参数字符串去解析你输入的字符串,遇不到逗号,无法正常解析)。 建议如下编写,只是添加了一行代码,看你输入的字符串,scanf是否正常解析。 scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c); printf("你刚才输入的数字为a=%lf,b=%lf,c=%lf",a,b,c); 结论你C/C++的底子很弱,好好把书看一遍,scanf这种基础的函数书中会有详细解释的,除非你书选的不对。 再就是注意你代码中printf参数里面的%0.2f %m.nf m是浮点数显示的总长度(包含小数,不包含点),m不表示出来时,浮点数有多长显示多长,n是小数个数。 比如 float a = 45631.1234 printf("a=%7.2f\n",a); 屏幕输出为45631.12 所以这里你的代码有两个问题, 1 %0.2改为%.2 2 你一直使用双精度double参与计算,最终修改后应该是%.2lf。 好啦,感觉分可以给我了
33,311
社区成员
41,784
社区内容
加载中
试试用AI创作助手写篇文章吧