问题 C: 判断三角形的性质

mac2026-06-09  11

题目描述

给出三角形的三边长度,判断是什么三角形。 输入

输入为多行,每行3个很小的非负整数,表示一个三角形的三条边的长度。当输入的三角形边长为0时表示输入结束。 输出

输出为多行,每行对应一个输入的三条边。

若输入的三条边构成等边三角形,输出“a equileteral triangle”;

若输入的三条边构成等腰三角形,输出“a isosceles triangle”;

若输入的三条边构成直角三角形,输出“a right triangle”;

若输入的三条边构成三角形,但不是以上三种,则输出“a triangle”;

若输入的三条边不构成,输出“not a triangle”。 样例输入

1 1 1 1 1 2 2 2 3 2 3 4 3 4 5 0 0 0

样例输出

a equileteral triangle not a triangle a isosceles triangle a triangle a right triangle

代码如下:

#include<stdio.h> int main() { int a,b,c; while(scanf("%d %d %d",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0) { if(a-b>=c||a+b<=c||a-c>=b||a+c<=b||b-c>=a||b+c<=a) { printf("not a triangle\n"); } else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("a right triangle\n"); } else if(a==b&&a==c) { printf("a equileteral triangle\n"); } else if(a==b||b==c||a==c) { printf("a isosceles triangle\n"); } else { printf("a triangle\n"); } } return 0; }
最新回复(0)