當三個邊長能夠構成三角形時,再判斷該三角形為鈍角、銳角或是直角三角形,其判別方法如下:
1. 直角三角形:其中有兩個邊的平方和等於第三邊的平方。
2. 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方。
3. 銳角三角形:任兩邊的平方和大於第三邊的平方。
輸入三個整數
輸出
顯示直角三角形(Right Triangle)、鈍角三角形(Obtuse Triangle)、銳角三角形(Acute Triangle)或無法構成三角形(Not Triangle)。
範例輸入
5 12 13
範例輸出
Right Triangle
2. 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方。
3. 銳角三角形:任兩邊的平方和大於第三邊的平方。
輸入三個整數
輸出
顯示直角三角形(Right Triangle)、鈍角三角形(Obtuse Triangle)、銳角三角形(Acute Triangle)或無法構成三角形(Not Triangle)。
範例輸入
5 12 13
範例輸出
Right Triangle
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- float is(float a, int b, int c)
- {
- int min, max, middle;
- if(a >= b && a >= c)
- {
- max = a;
- if(b >= c)
- {
- middle = b;
- min = c;
- }
- else
- {
- middle = c;
- min = b;
- }
- }
- else if(b >= a && b >= c)
- {
- max = b;
- if(a >= c)
- {
- middle = a;
- min = c;
- }
- else
- {
- middle = c;
- min = a;
- }
- }
- else
- {
- max = c;
- if(a >= b)
- {
- middle = a;
- min = b;
- }
- else
- {
- middle = b;
- min = a;
- }
- }
- if(min + middle > max)
- {
- return 1;
- }
- return 0;
- }
- int control_acute (int a, int b, int c)
- {
- if(!(pow(a, 2) + pow(b, 2)) > pow(c, 2)){}
- else if(!(pow(a, 2) + pow(c, 2)) > pow(b, 2)){}
- else if((pow(b, 2) + pow(c, 2)) > pow(a, 2))
- return 1;
- {
- }
- return 0;
- }
- int control_obtuse (int a, int b, int c)
- {
- if((pow(a, 2) + pow(b, 2)) < pow(c, 2))
- {
- return 1;
- }
- else if((pow(a, 2) + pow(c, 2)) < pow(b, 2))
- {
- return 1;
- }
- else if((pow(b, 2) + pow(c, 2)) < pow(a, 2))
- {
- return 1;
- }
- return 0;
- }
- int control_right (int a, int b, int c)
- {
- int ar = a * a;
- int br = b * b;
- int cr = c * c;
- if(ar + br == cr)
- {
- return 1;
- }
- else if(ar + cr == br)
- {
- return 1;
- }
- else if(cr + br == ar)
- {
- return 1;
- }
- return 0;
- }
- int main(){
- int a,b,c;
- scanf("%d %d %d", &a,&b,&c);
- if(!is(a, b, c))
- {
- printf("Not Triangle\n");
- }
- else if(control_right(a, b, c))
- {
- printf("Right Triangle\n");
- }
- else if(control_obtuse(a, b, c))
- {
- printf("Obtuse Triangle\n");
- }
- else if(control_acute(a, b, c))
- {
- printf("Acute Triangle\n");
- }
- system("PAUSE");
- return 0;
- }
Hiç yorum yok:
Yorum Gönder