【名词解释】
在一行上输入三个整数
,表示三角形的三条边。
在一行上输出一个字符串,表示三角形的类型,具体地:
如果三角形是等边三角形,则输出
;
如果三角形是等腰三角形,则输出
;
如果三角形是普通三角形,则输出
;
如果不能构成非退化三角形,则输出
。
2 3 2
Isosceles triangle!
3 3 3
Equilateral triangle!
4 3 2
Ordinary triangle!
3 2 1
Not a triangle!
本题已于下方时间节点更新,请注意题解时效性:
1. 2025-11-28 优化题面文本与格式,每个测试文件固定为单组测试数据。增加两组样例。新增若干组数据。
#include<stdio.h>
int main() {
int side1 = 0;//变量名可读性高
int side2 = 0;
int side3 = 0;
while (scanf("%d %d %d", &side1,&side2,&side3) != 3)//输入边长
{
printf("输入错误:请输入三个合法整数!\n");
while(getchar()!='\0');//清理输入缓冲区里不要的字符
}
if(side1<=0|| side2<=0 || side3<=0)
{
printf("输入错误:请输入三个大于零的整数\n");
}
if(side1+side2>side3 && side2+side3>side1 && side1+side3>side2)
{
if(side1 == side2 && side2 == side3)
{
printf("Equilateral triangle!\n");
}
else if(side1 == side2|| side2==side3 || side1==side3)
{
printf("Isosceles triangle!");
}
else {
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
return 0;
} int main()
{
int a, b, c;
while(scanf("%d %d %d", &a, &b, &c)!= EOF)
if (a + b > c && a + c > b && b + c > a)
{
if (a == b && b == c)
printf("Equilateral triangle!");
else if (a == b || a == c || b == c)
printf("Isosceles triangle!");
else
printf("Ordinary triangle!");
}
else
printf("Not a triangle!");
return 0;
} #include <stdio.h>
void check_triangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
{
if (a == b && a == c)
printf("Equilateral triangle!\n");
else if (a == b || a == c || c == b)
printf("Isosceles triangle!\n");
else
printf("Ordinary triangle!\n");
}
else
{
printf("Not a triangle!\n");
}
}
int main() {
int a, b, c;
while (scanf("%d %d %d", &a, &b, &c) != EOF)
{
check_triangle(a, b, c);
}
return 0;
} #include <stdio.h>
//判断是否为三角形
int IsTriangle(int a, int b, int c)
{
if(a + b > c && a + c > b && b + c > a)
{
return 1;
}
return 0;
}
int main()
{
int a = 0;
int b = 0;
int c = 0;
while (scanf("%d %d %d", &a, &b, &c) != EOF)
{
//是三角形,进入类型判断
if(IsTriangle(a, b, c))
{
if(a == b && a == c)
{
printf("Equilateral triangle!\n");
}
else if(a == b || a == c || b == c)
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
//不是三角形
else
{
printf("Not a triangle!\n");
}
}
return 0;
}