| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2493 人关注过本帖
标题:oj平台显示运行错误,但我用Dev却没问题,求求大神帮我看看,C语言初学者
只看楼主 加入收藏
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:0 
回复 10楼 rjsp
我用电脑系统配置的计算器算:3.14159 * 46847.39 * 46847.39 = 6894778300.350195239
                            2 * 3.14159 * 46847.39 = 294350。5839002

用 float 型计算             3.14159 * 46847.39 * 46847.39 = 6894778368.00
                            2 * 3.14159 * 46847.39 = 294350.59

用 double 型计算            3.14159 * 46847.39 * 46847.39 = 6894778300.35
                            2 * 3.14159 * 46847.39 = 294350.58

改为 int 型计算             3 * 46847 * 46847 = -2006010365 (显然是溢出了)
                            2 * 3 * 46847 = 281082

[此贴子已经被作者于2020-10-25 00:18编辑过]

2020-10-24 23:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9030
专家分:54050
注 册:2011-1-18
收藏
得分:0 
回复 11楼 风过无痕1989
我看错了,你输入 7456 试试
7456*7456*3.14159=174647070.21824
2020-10-24 23:30
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:0 
回复 10楼 rjsp
用 double 型 输入 7456 就能对上他的答案了

另,不是我要用 float 型的,是他给出的程序用的就是就用 float 型

我刚才又反复看了他的题目,也没说过输入多少,然后要对答案。而程序本身也确实是没有问题,只是精度差些。好了,现在明朗了,他的程序就应该是如下的了:

程序代码:
#include<stdio.h>
#define PI 3.14159
int main(){
    double r,c,s;              // c,s 没有定义
    scanf("%lf",&r);
    c = 2 * PI * r;           // 两个语句不能用逗号隔开写在同一行,可以用分号隔开写在同一行
    s = PI * r * r;
    printf("%.2lf %.2lf",c,s);
    return 0;
}
2020-10-25 00:40
快速回复:oj平台显示运行错误,但我用Dev却没问题,求求大神帮我看看,C语言初学 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029848 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved