题:编写一个程序,要求输入三角形的3条边,然后判断是否合理,如果不合理,给出信息并要求重新输入;如果合理,计算其面积。
解:
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,s;
char ch;
do{
scanf("%f %f %f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a)
{
printf("error! Input again!\n");
}
else
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形三边分别为%.1f ,%.1f ,%.1f \n",a,b,c);
printf("三角形的面积s=%.2f",s);
}
while((ch=getchar())!='\n');
}while((ch=getchar()) == 'y'||ch == '\n');
return 0;
}
运行结果如下: