标题:计算圆的面积与体积为什么 用int 和float算的不一样
只看楼主
wulixiao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-8-27
结帖率:0
已结贴  问题点数:20 回复次数:4 
计算圆的面积与体积为什么 用int 和float算的不一样
程序代码:
#include"stdio.h"
#include"math.h"
#define PI 3.14159
void main()
{
    int r,area,s;
    r=4;
    area=4*r*r*PI;
    s=4/3*PI*pow(r,3);
    printf("%d, %d",area,s);    
}


程序代码:
#include"stdio.h"
#include"math.h"
#define PI 3.14159
void main()
{
    float r,area,s;
    r=4.0;
    area=4.0*r*r*PI;
    s=4.0/3.0*PI*pow(r,3.0);
    printf("%f, %f",area,s);    
}

运行结果不一样,希望大佬能解决一下。
搜索更多相关主题的帖子: 计算 体积 int float include 
2019-08-27 10:29
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:4 
请明示对“解决”的预期,要不然还真不好解决。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-08-27 10:36
云不喜
Rank: 2
等 级:论坛游民
威 望:1
帖 子:11
专家分:16
注 册:2019-8-25
得分:4 
回复 楼主 wulixiao
比如10/3*3 结果是9   过程是10/3=3    3*3=9
10.0/3.0*3.0结果是10.0   过程是10.0/3.0=3.333333    3.333333*3=9.999999保留一位就是10.0
因为小数点后的数在整形运算中被舍去了

[此贴子已经被作者于2019-8-27 11:33编辑过]


收获越多,动力越大!
2019-08-27 11:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:4 
4/3 等于 1
2019-08-27 11:51
暴君Dentiny
Rank: 2
等 级:论坛游民
帖 子:132
专家分:43
注 册:2019-5-6
得分:4 
f会将省去的部分四舍五入

技术至上,学无止境
2019-08-27 12:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496580-1-1.html




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

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