【名词解释】
在一行上输入三个整数
,表示三角形的三条边。
在一行上输出一个字符串,表示三角形的类型,具体地:
如果三角形是等边三角形,则输出
;
如果三角形是等腰三角形,则输出
;
如果三角形是普通三角形,则输出
;
如果不能构成非退化三角形,则输出
。
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 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!\n");
}else if(a==b||b==c||a==c){
printf("Isosceles triangle!\n");
}else{
printf("Ordinary triangle!");
}
}else{
printf("Not a triangle!\n");
}
}
} #include<cstdio>
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&&a==c&&b==c)
printf("Equilateral triangle!\n");
else if(a==b||b==c||a==c)
printf("Isosceles triangle!\n");
else
printf("Ordinary triangle!\n");
}
else
printf("Not a triangle!\n");
}
return 0;
} 三角形判断条件:任意两边之和大于第三边。
#include<stdio.h>
int main()
{
int a=0;
int b=0;
int c=0;
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!\n");
}
else if(a==b||b==c||a==c)
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
} #include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
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!\n");
}
else if((a==b && a!=c) || (a==c && a!=b) || (b==c && b!=a))
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
} #include <iostream>
using namespace std;
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 && a == c && b == c) cout << "Equilateral triangle!" << endl;
else if (a == b || a == c || b == c) cout << "Isosceles triangle!" << endl;
else cout << "Ordinary triangle!" << endl;
}
else cout << "Not a triangle!" << endl;
}
} #include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
while(scanf("%d %d %d ",&a,&b,&c)!= EOF)
{
if(a+b>c && a+c>b && b+c>a)//判断是不是三角形
{
if(a == b || a == c || b == c)//判断是不是等腰三角形
{
if(a == b && a == c)//判断是不是等边三角形
{
printf("Equilateral triangle!\n");
}
else
{
printf("Isosceles triangle!\n");
}
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
} 代码通过了系统测试。下面是一组输入的自测数据,有点迷,输入不足3个数据怎么会有结果,该如何改变循环条件#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
while(cin >> a >> b >> c){
if((a + b > c) && (a + c > b) && (b + c > a)){
if(a == b && a == c && b == c)
cout << "Equilateral triangle!" << endl;
else if(a == b || a == c || b == c)
cout << "Isosceles triangle!" << endl;
else
cout << "Ordinary triangle!" << endl;
}
else
cout << "Not a triangle!" << endl;
}
return 0;
} # define _CRT_SECURE_NO_WARNINGS 1
/*描述
KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
输入描述:
题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。
输出描述:
针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,
等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。*/
//思路,首先定义三个值,abc,判断是否相等,如果相等输出。。。,不相等,输出。。。
//首先使用while函数,来让程序走下去,判断三角形的条件,两边相加,是否等于第三边,不是的话就输出not,是的话就
//继续使用下一个if函数,这个来判断是否是等边三角形,如果不是就继续下一个if else ,判断是否是等腰三角形,如果不是就继续,
//判断是否是普通三角形,是的话就输出,不是的话就not了。
# include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
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!等边三角形\n");//等边三角形
continue;
}
else if (a == b || b == c || a == c)
printf("Isosceles triangle!等腰三角形\n");//等腰三角形
else
printf("Ordinary triangle!普通的三角形\n");//普通的三角形
}
else
printf("Not a triangle!不是三角形\n");//不是三角形
}
return 0;
}
#include <stdio.h>
int main() {
int a,b,c;
while(~scanf("%d %d %d",&a,&b,&c)){
if(a+b>c && a-b<c)
if(a==b && b==c && a==c) printf("Equilateral triangle!\n");
else if(a!=b && b!=c && a!=c) printf("Ordinary triangle!\n");
else printf("Isosceles triangle!\n");
else printf("Not a triangle!\n");
}
return 0; #include <stdio.h>
int main() {
int a,b,c;
while((scanf("%d %d %d",&a,&b,&c))==3){
if(a+b>c&&a+c>b&&a+c>b){
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");
}
} while True:
try:
a,b,c = map(int, input().split())
if a+b<=c&nbs***bsp;a+c<b&nbs***bsp;b+c<a:
print('Not a triangle!')
elif a==b==c:
print('Equilateral triangle!')
elif a==b&nbs***bsp;b==c&nbs***bsp;a==c:
print('Isosceles triangle!')
else:
print('Ordinary triangle!')
except:
break #include<stdio.h>
int main()
{
int a,b,c;
while(~scanf("%d%d%d\n",&a,&b,&c))
{
if(a+b>c&&a+c>b&&b+c>a)
{
if(a==b&&b==c)printf("Equilateral triangle!\n");
else if(a==b||b==c||a==c)printf("Isosceles triangle!\n");
else printf("Ordinary triangle!\n");
}
else printf("Not a triangle!\n");
}
return 0;
} #include<stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
while (scanf("%d%d%d", &a, &b, &c) != EOF)
{
//三角形:两边之和大于第三边
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 || b == c)
printf("Isosceles triangle!\n");
else
printf("Ordinary triangle!\n");
}
}
else
printf("Not a triangle!");
}
return 0;
} import java.util.*;
public class Main
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n1 = sc.nextInt();
int n2 = sc.nextInt();
int n3 = sc.nextInt();
//使用正则表达式判断
if(n1+n2>n3){
if(n1==n2&&n1==n3){
System.out.println("Equilateral triangle!");
}else if(n1==n2 || n1==n3 || n2==n3)
System.out.println("Isosceles triangle!");
else
System.out.println("Ordinary triangle!");
}
else System.out.println("Not a triangle!");
}
}} #include <stdio.h>
int main()
{
int a=0,b=0,c=0;
scanf("%d %d %d\n",&a,&b,&c);
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
if(a==b||a==c||b==c)
{
if(a==b&&b==c)
{
printf("Equilateral triangle!");
}
else
{
printf("Isosceles triangle!");
}
}
else {
printf("Ordinary triangle!");
}
}
else
{
printf("Not a triangle!");
}
return 0;
}