#include<stdio.h>
int main()
{
int a, b, c;
printf("请输入三角形的三条边");
scanf_s("%d,%d,%d", &a, &b, &c);
int t,f=0;
if (a > b) { t = a; a = b; b = t; }//b>a
if (a > c) {
t = a; a = c; c = t;
}//c>a
if (b > c) {
t = b; b = c; c = t;
}//c>b
if (c < (a + b))
{
printf("是三角形");
f = 1;
}
else
printf("a");
if (f ==1)
if (a==c&&a == b&&b == c)
printf("三角形是等边三角形");
else if (a == b && b != c && a != c)
printf("三角形是等腰三角形");
else if (a == c && a != b && b != c)
printf("三角形是等腰三角形");
else if (b == c && c != a && b != a)
printf("三角形是等腰三角形");
else if (a < (b + c) || b < (a + c) || c < (b + a))
printf("三角形是不等边三角形");
return 0;
}
他要输出是不是三角形,这个是那里有错
你这代码问题一大堆
if(a+b>c)
{
if(a==b && b==c) //不用再判断a==c,这已经是3个都相等了
{
printf("等边三角形");
}
else if(a==b || b==c) //a最小,c最大,a不可能等于c,除非b也等于c
{
printf("等腰三角形");
}
else if(a*a+b*b==c*c)
{
printf("直角三角形");
}
else
{
printf("普通三角形");
}
}
else
printf("不是三角形");
你这个程序没问题,只是太多判断了,可能你是输入的地方不对,中间要用逗号隔开