根據輸入的三角形的三邊判斷三角形的類型,並輸出其面積和類型。
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { float a, b, c; float s, area; printf("please input three line:\n"); scanf("%f%f%f", &a, &b, &c); //判斷是否滿足三角形條件:兩邊之和是否大於第三邊; if (a + b > c&&b + c > a&&a + c > a) { s = (a + b + c) / 2; area = (float)sqrt(s*(s - a)*(s - b)*(s - c));//三角形面積計算; printf("the area is: %f", area); printf("\n"); //判斷三條邊是否相等; 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("一般三角形\n"); } } else { printf("三邊不能構成三角形\n"); } system("pause"); return 0; }
此處應該注意“&&”和“||”的正確使用:
使用“&&”邏輯與運算符,需要同時滿足多種情況時。
使用“||”邏輯或運算符,需要滿足幾種情況中的一種時。