题目描述:
给定三个正整数,代表可能组成一个三角形的三条边长。
如果能组成 一个等边三角形,输出"equilateral"; 如果能组成 一个直角三角形,输出"right"; 如果不能组成 一个三角形,输出"error", 否则,输出"normal".
输入描述:
第一行一个正整数T(1≤T≤100)T(1≤T≤100),表示测试数据的组数。
每组数据在一行内给出三个正整数a,b,c(1≤a,b,c≤1000)a,b,c(1≤a,b,c≤1000), 表示可能组成三角形的三条边长。
输出描述:
对于每组数据,一行内输出答案。
代码展示:
1.#include <stdio.h>
2.#include <string.h>
3.int main()
4.{
5. int a,b,c;
6. scanf("%d %d %d",&a,&b,&c);
7. if(a+b>c&&a+c>b&&b+c>a){
8. if(a==b&&b==c&&a==c){
9. printf("equilateral\n");
10. }else if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a){
11. printf("right\n");
12. }else printf("normal\n");
13. } else printf("error\n");
14. }
代码详解:
本次代码较为简单,仅仅要满足任意两边之和大于第三边这一个条件,否则输出error。然后在这个循环中判断三边是否相等,若相等则输出equilateral,同理根据勾股定理,判断是否为直角三角形即可。若只满足第一个条件,则输出normal即可。