新手入门求助大神,为什么求圆面积计算答案显示为0
新手入门求助大神,为什么求圆面积计算答案显示为0代码如下:
#include<stdio.h>
#define PAI 3.14
int main()
{
double fRadius;
double fResult=0;
printf("请输入圆的半径:");
scanf("%1f",&fRadius);
fResult=fRadius*fRadius*PAI;
printf("圆的面积为;%1f\n",fResult);
return 0;
}
输入半径得到的计算结果都是0 scanf里面,%lf怎么变成%1f了? ?
请输入圆的半径:2
圆的面积为;26901260338250390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
Press any key to continue 应该是 %lf 不是 %1f,试试这样:
#include <stdio.h>
#define PAI 3.14
int main()
{
double fRadius;
double fResult = 0;
printf("请输入圆的半径:");
scanf("%lf", &fRadius);
fResult = fRadius * fRadius * PAI;
printf("圆的面积为;%lf\n", fResult);
return 0;
} 修改之后答案还是0{:5_107:} zltzlt 发表于 2020-4-4 16:51
应该是 %lf 不是 %1f,试试这样:
修改之后答案还是0 鱼蛋粗面冇粗面 发表于 2020-4-4 18:08
修改之后答案还是0
scanf输入半径后有木有试一下printf看看半径对不对?
就这么看着,修改了那一处之后的确没问题了啊。 我这里不是,应该是编译器的问题
请输入圆的半径:5
圆的面积为;78.500000 #include <stdio.h>
#define PAI 3.14
int main()
{
double fRadius;
double fResult = 0;
printf("请输入圆的半径:");
scanf("%lf", &fRadius);
fResult = fRadius * fRadius * PAI;
printf("圆的面积为;%lf\n", fResult);
return 0;
}
修改完记得重新编译,再运行,没有重新编译,运行的结果就不正确。 本帖最后由 鱼蛋粗面冇粗面 于 2020-4-5 14:56 编辑
小笨笨难得糊涂 发表于 2020-4-4 18:33
#include
#define PAI 3.14
https://s1.ax1x.com/2020/04/05/GDCuUx.png
结果还是0,换了个软件计算结果不一样,是代码有错误吗 由于是double型 使用scanf的时候用的是 %lf 使用printf的时候用的是 %f 鱼蛋粗面冇粗面 发表于 2020-4-5 14:44
https://s1.ax1x.com/2020/04/05/GDCuUx.png
结果还是0,换了个软件计算结果不一样,是代码有错误吗
你的倒数第二行还是用了1,是字母l不是1,%lf代表的是双精度浮点型 。 输出double型数据时,你的输出格式写错了,应该是%lf(字母l),你写成了%1f(数字1)
页:
[1]