标题:新手求教谭浩强c第三版的一道例题不明白,请各位指点下
取消只看楼主
西瓜便宜了
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-2-23
结帖率:100%
 问题点数:0 回复次数:2 
新手求教谭浩强c第三版的一道例题不明白,请各位指点下
#include <stdio.h>
#include <math.h>
void main()
{   float a,b,c,s,area;
    scanf("%f,%f,%f",&a,&b,&c);
    s=1.0/2*(a+b+c);
    area=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("a=%7.2f,  b=%7.2f,  c=%7.2f,  s=%7.2f\n",a,b,c,s);
    printf("area=%7.2f\n",area);
}

这个计算三角形面积的程序,abc是边长,s是周长一半
请问
s=1.0/2*(a+b+c);
式子中的1.0换成1就运行不出正确的结果,
即s=1/2*(a+b+c);就不对了
这是为什么?谢谢了
搜索更多相关主题的帖子: void include 三角形 
2012-02-27 18:11
西瓜便宜了
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-2-23
得分:0 
谢谢楼上两位高手,我明白了
要把前面也搞成浮点数才能和后面运算
谢谢啊~谢谢
2012-02-27 18:30
西瓜便宜了
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-2-23
得分:0 
以下是引用TonyDeng在2012-2-27 18:33:54的发言:

有0.5不寫非要寫成1.0/2,活該!
汗……
谢谢……
2012-02-27 18:37



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




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

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