c语言程序设计第三版课后习题
本题目要求计算下列分段函数f(x)的值:输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0
我的答案
#include<stdio.h>
int main()
{
double x,result;
scanf("%.1f",x);
if(x!=0)
result=1.0/x;
else
result=0;
printf("f(%.1f) = %.1f",x,result);
return 0;
}
请问为什么运算结果不对,感谢各位热心认真答题的大佬们 你的f(x)是啥函数 昨非 发表于 2020-10-17 16:32
你的f(x)是啥函数
https://images.ptausercontent.com/1 https://images.ptausercontent.com/1 scanf里面是%lf跟&x,你改一下 2269099035 发表于 2020-10-17 17:55
scanf里面是%lf跟&x,你改一下
可以讲一下为什么scanf 里面要用%lf,%.1f不行吗,不也是保留一位小数吗 富贵要加油 发表于 2020-10-17 22:58
可以讲一下为什么scanf 里面要用%lf,%.1f不行吗,不也是保留一位小数吗
C语言的所有输入输出函数,都要遵守%d%s%c这些的格式。你的x是double,对应的就是%lf,%.1f的本质还是%f。所以,不会被double x所接受。 富贵要加油 发表于 2020-10-17 22:58
可以讲一下为什么scanf 里面要用%lf,%.1f不行吗,不也是保留一位小数吗
https://blog.csdn.net/bat67/article/details/52056057你可以看看这个
页:
[1]