回 帖 发 新 帖 刷新版面

主题:请高手指教

请帮我看看这个程序,求输入3个数作为边长的三角形的面积:
#include<stdio.h>
#include<math.h>
main()
{
    float a,b,c,t;
    printf("请输入3个数字:\n");
l:
    scanf("%f,%f,%f",&a,&b,&c);
    if(a+b<=c||a+c<=b||b+c<=a||a-b>=c||a-c>=b||b-C>=a)
    {
        printf("这3个数不能构建三角形!请重新输入:\n");
        goto l;
    }
    else
        t=1/2*(a+b+c);
        printf("由这3个数组成的三角形的面积为:%d\n",sqrt(t*(t-a)*(t-b)*(t-c));
}
哪里错了?什么原因?谢谢!![em8]

回复列表 (共4个回复)

沙发

if(a+b<=c||a+c<=b||b+c<=a||a-b>=c||a-c>=b||b-C>=a)

这里最后一个判断为什么成了大写的c?
而且最好给每个判断分句都再加个括号,方便分析

板凳

再有  这句话 printf("由这3个数组成的三角形的面积为:%d\n",sqrt(t*(t-a)*(t-b)*(t-c));
最后少个后括号

3 楼

哦!!非常感谢您!但是还是有问题啊?

4 楼

输出格式怎么写的%d,应该也写成%f啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册