C语言编写程序 输入三条边,判断能否组成三角形,若能,求面积,若不能则输出不能组成三角形,并用do…whi...

2025-03-21 17:30:28
推荐回答(2个)
回答1:

#include
#include
#include
main()
{
double a,b,c,p,area;
do {
printf("input a b c\n");
scanf("%lf %lf %lf",&a,&b,&c);
p = (a+b+c) /2.0;
if ((p-a)>0 && (p-b) > 0 && (p-c) > 0){
area = sqrt(p*(p-a)*(p-b)*(p-c));
break;
} else printf("wrong a,b,c\n");
} while(1);
printf("Area=%lf\n",area);
return 0;
}

回答2:

double x,y,z,sum,t,area;
do{
    scanf("%d%d%d",&x,&y,&z);
    if(x>y){//以下三个if是为这三个数排序;
        t=x;x=y;y=t;
    }
    if(z        t=z;z=y;y=x;x=t;
    }
    if(z>=x&&z<=y){
        t=z;z=y;y=t;
    }
    if((x+y)>z&&(z-x)        sum=(x+y+z)/2;
        area = sqrt(sum*(sum-x)*(sum-y)*(sum-z));计算面积
        printf("%d\n",&area);break;输出面积并跳出循环!
    }
}while(1)

代码大概就是这样、没经过编译、不知道有没有错、你试试吧、思路是没错的!