【問題描述】
從鍵盤輸入三角形的三條邊長,判斷能否構成三角形,如能構成三角形,則判斷是哪一種類型:等腰三角形(等腰直角算作等腰)、等邊三角形、直角三角形、任意三角形。輸出要求如下:
不是三角形,則輸出: It isn't triangle.
等腰三角形,則輸出: isoceles triangle
等邊三角形,則輸出: equilateral triangle
直角三角形,則輸出: right-angled triangle
任意三角形,則輸出: arbitrary triangle
【輸入形式】
從鍵盤輸入三角形的三條邊長(實數)。
【輸出形式】
不是三角形,則輸出: It isn't triangle.
等腰三角形,則輸出: isoceles triangle
等邊三角形,則輸出: equilateral triangle
直角三角形,則輸出: right-angled triangle
任意三角形,則輸出: arbitrary triangle
【樣例輸入1】 1 2 3
【樣例輸出1】 It isn't triangle.
【樣例輸入2】 3.3 4.4 5.5
【樣例輸出2】 right-angled triangle
【樣例輸入3】 9.8995 14 9.8995
【樣例輸出3】 isoceles triangle
【評分標准】
結果完全正確得20分,共5個測試點。提交程序名為:p1009.c
#include<stdio.h>
int main()
{ int k=0;
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
int m=a*a;
int n=b*b;
int g=c*c;
if(a+b<=c||a+c<=b||b+c<=a)
printf("It isn't triangle.");
else
{
if(a==b&&b==c&&a==c)
{
k=2;
printf("equilateral triangle");
}
else if((a==b)||(b==c)||(a==c) )
{
k=1;
printf("isoceles triangle");
}
if((int) m==(int) n+(int) g || (int) n==(int) m+(int) g||(int) g==(int) m+(int) n)
{
k=1;
printf("right-angled triangle");
}
if(k==0) printf("arbitrary triangle");
}
return 0;
}