啊哈磊_编程从这里起步

标题: 为什么不行啊 求大神 [打印本页]

作者: qw375007324    时间: 2014-4-27 18:31
标题: 为什么不行啊 求大神
#include<stdio.h>
#include<stdlib.h>
int main()
{
        double a,b,c,s,area;
        scanf("%lf%lf%lf",&a,&b,&c);
        s=(a+b+c)*0.5;
        area=sqrt(s*(s-a)*(s-b)*(s-c));
        printf("area=%7.2f\n",area);
}
输出的是1#。。。


作者: rosynirvana    时间: 2014-4-27 18:32
qw375007324 发表于 2014-4-27 18:55
3 4 5 还是不行的。。。

你在用VC6?
作者: rosynirvana    时间: 2014-4-27 18:42
估计你输入的三边不能构成三角形,用海伦公式就是对一个负数求算数平方根
作者: qw375007324    时间: 2014-4-27 18:55
rosynirvana 发表于 2014-4-27 18:42
估计你输入的三边不能构成三角形,用海伦公式就是对一个负数求算数平方根

3 4 5 还是不行的。。。
作者: yangchengjun    时间: 2014-4-27 19:32
可能是有小数点,double换成floute试试
作者: 李掌柜    时间: 2014-4-27 19:36
sqrt平方根计算
是不是要加个math.h数学头文件??
作者: rosynirvana    时间: 2014-4-27 19:42
yangchengjun 发表于 2014-4-27 19:32
可能是有小数点,double换成floute试试

永远不要用float
作者: 李掌柜    时间: 2014-4-27 20:04
yangchengjun 发表于 2014-4-27 19:32
可能是有小数点,double换成floute试试

double是双精度
float    是单精度(用float特别注意,记得加小数点~~)
作者: 李掌柜    时间: 2014-4-27 20:04
yangchengjun 发表于 2014-4-27 19:32
可能是有小数点,double换成floute试试

double是双精度
float    是单精度(用float特别注意,记得加小数点~~)




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2