题目:
从键盘输入三条边,判断三角形类型,并计算面积
代码:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
int main(void) {
float a,b,c;
float s,area;
printf("请输入三条边(空格隔开):");
scanf("%f %f %f",&a,&b,&c);
while (a+b<=c||a+c<=b||b+c<=a){
printf("不能构成三角形,请重新输入:");
scanf("%f %f %f",&a,&b,&c);
}
s=(a+b+c)/2;
area=(float) sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积等于%.2f\n",area);
if(a==b&&b==c){
printf("等边三角形\n");
}else if(a==b||a==c||b==c){
printf("等腰三角形");
}else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)){
printf("直角三角形");
}else{
printf("普通三角形");
}
return 0;
}
结果: