一题c语言题目

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:26:48
题 输入三角形三边 求面积
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("请输入三角形的边长:\n");
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积是:%f",area)
}
哪里错了了 程序运行后输入数值后显示0.000000
怎么回事 哪里错了 谢谢啊。。。。。

printf("三角形的面积是:%f",area)

后面少了个分号,至于结果,我运行没错误,输入3 4 5 输出6.000000

我试过了没错
printf("三角形的面积是:%f",area)
少了个分号

程序中最好加上判断输入边长是否符合三角形的边长定理的语句;
你可以试一下:3 4 5,程序可能是正确的,
但若输入:1 2 3,程序输出则为0.000000了

没错,三角形要求任意1边小于另外2边的和:

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("请输入三角形的边长:\n");
scanf("%f%f%f",&a,&b,&c);
if ((a >= (b + c))
|| (b >= (a + c))
|| (c >= (a + b)))
{
printf("这不是三角形\n");
}
else
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积是:%f",area);
}
}

另外scanf函数是%f%f%f,输入3、4、5也是没问题的!

只是在最后少了个分号,我运行了,没错,输入3 4 5,结果是6.000000
不能输入3,4,5因为你的scanf函数是%f%f%f
注意输入的3个数,必须能够成三角形

楼主注意了,你输入的三个数要确保能构成一个三角形(三边关系啊),否则就是0.000000了,