鱼蛋粗面冇粗面 发表于 2020-4-4 16:48:21

新手入门求助大神,为什么求圆面积计算答案显示为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

qiuyouzhi 发表于 2020-4-4 16:49:02

scanf里面,%lf怎么变成%1f了?

墨羽岚 发表于 2020-4-4 16:50:31


请输入圆的半径:2
圆的面积为;26901260338250390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
Press any key to continue

zltzlt 发表于 2020-4-4 16:51:49

应该是 %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;
}

鱼蛋粗面冇粗面 发表于 2020-4-4 18:08:07

修改之后答案还是0{:5_107:}

鱼蛋粗面冇粗面 发表于 2020-4-4 18:08:39

zltzlt 发表于 2020-4-4 16:51
应该是 %lf 不是 %1f,试试这样:

修改之后答案还是0

sunrise085 发表于 2020-4-4 18:25:48

鱼蛋粗面冇粗面 发表于 2020-4-4 18:08
修改之后答案还是0

scanf输入半径后有木有试一下printf看看半径对不对?
就这么看着,修改了那一处之后的确没问题了啊。

zltzlt 发表于 2020-4-4 18:27:33

我这里不是,应该是编译器的问题

请输入圆的半径:5
圆的面积为;78.500000

小笨笨难得糊涂 发表于 2020-4-4 18:33:44

#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:44:57

本帖最后由 鱼蛋粗面冇粗面 于 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,换了个软件计算结果不一样,是代码有错误吗

Darker开落 发表于 2020-4-5 17:01:23

由于是double型    使用scanf的时候用的是   %lf   使用printf的时候用的是    %f

小笨笨难得糊涂 发表于 2020-4-5 23:19:54

鱼蛋粗面冇粗面 发表于 2020-4-5 14:44
https://s1.ax1x.com/2020/04/05/GDCuUx.png
结果还是0,换了个软件计算结果不一样,是代码有错误吗

你的倒数第二行还是用了1,是字母l不是1,%lf代表的是双精度浮点型 。

大河之jian 发表于 2020-4-7 11:55:19

输出double型数据时,你的输出格式写错了,应该是%lf(字母l),你写成了%1f(数字1)
页: [1]
查看完整版本: 新手入门求助大神,为什么求圆面积计算答案显示为0