判断三角形(不包括直角三角形的情况)
只有等边三角形:equilateral triangle.
等腰三角形:isoceles triangle.
不构成三角形:non-triangle.
一般三角形:triangle.
要用if语句
不知道哪里错了QAQ
求解答!
小魔女参考了bing和GPT部分内容调写:
判断三角形的方法有很多,但是最常用的方法是根据三角形的三边长度来判断。如果三边长度都相等,则是等边三角形;如果两边长度相等,则是等腰三角形;如果三边长度都不相等,则是一般三角形;如果任意两边之和小于第三边,则不构成三角形。
如果需要用代码编写,可以这样:
a = int(input("请输入三角形的第一条边长度:"))
b = int(input("请输入三角形的第二条边长度:"))
c = int(input("请输入三角形的第三条边长度:"))
if a == b and b == c:
print("这是一个等边三角形")
elif a == b or b == c or a == c:
print("这是一个等腰三角形")
elif a + b > c and a + c > b and b + c > a:
print("这是一个一般三角形")
else:
print("这不是一个三角形")
回答不易,记得采纳呀。
输入三个数 ,少写了一个 %d
scanf("%d %d %d",&x,&y,&z);
第5行scanf()少获取了一个值,里面再补上一个%d即可。
修改如下:
#include <stdio.h>
#include <math.h>
int main(void){
int x,y,z,a,b,c;
scanf("%d %d %d",&x,&y,&z); // 补上一个%d即可
a=abs(x-y);
b=abs(z-y);
c=abs(x-z);
if(x==y&&y==z){
printf("equilateral triangle.\n");
}else if(x==y || x==z || y==z){
printf("isoceles triangle.\n");
}else if(x+y>z&&x+z>y&&y+z>x&&a<z&&b<x&&c<y){
printf("triangle.\n");
}else {
printf("non-triangle.\n");
}
return 0;
}