C语言编程:输入三角形的三条边(假设能构成三角形),输出三角形的面积。

输入三角形的三条边(假设能构成三角形),输出三角形的面积。
2025-03-11 13:00:55
推荐回答(4个)
回答1:

#include
#include
main()
{
float a,b,c,s,area;
printf("请输入a,b,c,的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&a+c>b&&b+c>a)
{if(abs(a-b) {if(a==b||a==c||b==c)
{printf("这是一个等腰三角形!\n");
printf("这个三角形面积:%f\n",area);}
else {printf("不是等腰三角形!\n");
printf("这个三角形面积%f\n",area);}}
else {printf("不能构成三角形,三边这差不行:!\n");}}
else {printf("不能构成三角形,三边之和不行!\n");}}
看哈要的不

回答2:

么么的程序没有判断输入的三边是否能构成三角形啊
在scanf之后应该加入如下程序段
if((a+b)<=c||(a+c)<=b||(b+c)<=a)
{
printf("not a trig!\n");
return;
}

回答3:

#include
#include
void main()
{
double a,b,c,p;
scanf("%f %f %f",&a,&b,&c);
p = (a+b+c)/2;
printf("%f",sqrt(p*(p-a)*(p-b)*(p-c)));
}
利用海伦公式来求

回答4:

int main(void) { int a[10][10],(*p)[10]=a,i,j; for(i=0;i<10;i++) { *(*(p+i)+0)=1; *(*(p+i)+i)=1; } for(i=2;i<10;i++) for(j=1;j