判断三角形的类型

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float p,area;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c||a+c>b||b+c>a)
{
p=(a+b+c)/2;
area=(float)sqrt(p*(p-a)*(p-b)*(p-c));// 海伦秦九韶公式
printf("面积是: %f\n",area);
if(a==b&&b==c)
printf("三角形是等边三角形\n");
else if(a==b||a==c||b==c)
printf("三角形是等腰三角形\n");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("三角形是直角三角形\n");
else
printf("三角形是普通三角形\n");
}
else
printf("不能构成三角形\n");


}

把面积计算条件放在外面——即不判断是否为三角形就计算面积,程序不会报错,但是会给出一个随机值。如下

面积是: 4992295962666428.000000

 

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float p,area;
p=(a+b+c)/2;
area=(float)sqrt(p*(p-a)*(p-b)*(p-c));
printf("面积是: %f\n",area);
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c||a+c>b||b+c>a)
{

if(a==b&&b==c)
printf("三角形是等边三角形\n");
else if(a==b||a==c||b==c)
printf("三角形是等腰三角形\n");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("三角形是直角三角形\n");
else
printf("三角形是普通三角形\n");
}
else
printf("不能构成三角形\n");


}

 

posted @ 2016-10-04 21:31  魔都初心  阅读(706)  评论(0编辑  收藏  举报