//================== //判断三角形的类型 //================== #include <stdio.h> #include <math.h> void judge(int a, int b, int c) { float s, area; if (a + b > c && b + c > a && a + c > b) //两边之和大于第三边 { s = (a + b + c) / 2; area = (float)sqrt(s *(s - a)*(s - b)*(s - c)); //计算三角形的面积 printf("面积是:%f\n", area); if (a == b && a == 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("普通三角形"); //普通三角形 } else printf("不能构成三角形"); //两边之和小于第三边不能组成三角形 } int main() { float a, b, c; printf("请输入三角形三条边长:"); scanf("%f%f%f", &a, &b, &c); //输入三条边 judge(a,b,c); return 0; }
求三角形面积2: #include <stdio.h> #include <math.h> main() { float a, b, c, p; double q, s; scanf("%f,%f,%f",&a,&b,&c); p=(a+b+c)/2.0; q=p*(p-a)*(p-b)*(p-c); s=sqrt(q); printf("a=%0.2f\nb=%0.2f\nc=%0.2f\n",a,b,c); printf("area=%f\n",s); }