1 #include "stdafx.h" 2 #include <math.h> 3 4 5 //根据输入的三条边判断是不是正确的三角形 6 bool IsTri(double x,double y,double z) 7 { 8 if (! ( (x+y>z) && (abs(x-y)<z) ) ) 9 { 10 return false; 11 } 12 if (! ( (x+z>y) && (abs(x-z)<y) ) ) 13 { 14 return false; 15 } 16 if (! ( (z+y>x) && (abs(z-y)<x) ) ) 17 { 18 return false; 19 } 20 return true; 21 } 22 23 int main(int argc, char* argv[]) 24 { 25 26 double a,b,c; 27 double s,area; 28 printf("请输入三角形三条边的变长\n"); 29 scanf("%lf%lf%lf",&a,&b,&c); 30 31 if (IsTri(a,b,c)) 32 { 33 s=(a+b+c)/2.0; 34 area=sqrt(s*(s-a)*(s-b)*(s-c)); 35 printf("三角形的面积为 %f \n",area); 36 } 37 else 38 { 39 printf("你输入的边不满足三角形的条件\n"); 40 } 41 return 0; 42 }
先判断用户输入的是不是一个三角形,然后再计算结果。