鱼C论坛

 找回密码
 立即注册
查看: 2720|回复: 12

[已解决]新手入门求助大神,为什么求圆面积计算答案显示为0

[复制链接]
发表于 2020-4-4 16:48:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
新手入门求助大神,为什么求圆面积计算答案显示为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
最佳答案
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;
}
修改完记得重新编译,再运行,没有重新编译,运行的结果就不正确。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-4 16:49:02 | 显示全部楼层
scanf里面,%lf怎么变成%1f了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 16:50:31 | 显示全部楼层
请输入圆的半径:2
圆的面积为;26901260338250390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
Press any key to continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 18:08:07 | 显示全部楼层
修改之后答案还是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 18:08:39 | 显示全部楼层
zltzlt 发表于 2020-4-4 16:51
应该是 %lf 不是 %1f,试试这样:

修改之后答案还是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 18:25:48 | 显示全部楼层

scanf输入半径后有木有试一下printf看看半径对不对?
就这么看着,修改了那一处之后的确没问题了啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 18:27:33 | 显示全部楼层
我这里不是,应该是编译器的问题
请输入圆的半径:5
圆的面积为;78.500000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
修改完记得重新编译,再运行,没有重新编译,运行的结果就不正确。
11.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-5 14:44:57 | 显示全部楼层
本帖最后由 鱼蛋粗面冇粗面 于 2020-4-5 14:56 编辑


https://s1.ax1x.com/2020/04/05/GDCuUx.png
结果还是0,换了个软件计算结果不一样,是代码有错误吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 17:01:23 | 显示全部楼层
由于是double型    使用scanf的时候用的是     %lf     使用printf的时候用的是    %f
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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代表的是双精度浮点型 。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 11:55:19 | 显示全部楼层
输出double型数据时,你的输出格式写错了,应该是%lf(字母l),你写成了%1f(数字1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 13:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表