一个通过三边判断是否是正三角形的c程序

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:30:01
为什么我输入5,5,5会显示是不等边三角形?
#include"stdio.h"
void main()
{
int a,b,c;
printf("请输入三角形的三边长(用逗号隔开): ");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
printf("构成的三角形");
if((a=b)||(b=c)||(a=c))
printf("不是等边三角形");
else
{
if((a=b)&&(a=c)&&(b=c))
printf("是正三角形");
else
printf("是等边三角形");
}
}
else
printf("不能构成三角形");
}

#include"stdio.h"
void main()
{
int a,b,c;
printf("请输入三角形的三边长(用逗号隔开): ");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
printf("构成的三角形\n");
if((a!=b)||(b!=c)||(a!=c))//此处要是写a=b是把b的值赋给a,若要使判断是否相等,应该写a==b,而且,此处应该写判断不是等边三角形的条件
printf("不是等边三角形\n");
else
{
if((a==b)&&(a==c)&&(b==c))
printf("是正三角形\n");
else
printf("是等边三角形\n");
}//此处是判断等边三角形的条件,就是a==b并且b==c并且c==a,顺便说一句,正三角形和等边三角形是一回事
}
else
printf("不能构成三角形");
}

if((a=b)||(b=c)||(a=c))
printf("不是等边三角形"); 这判断条件错了
应该改为if((a!=b)||(b!=c)||(a!=c))
printf("不是等边三角形");

if((a=b)||(b=c)||(a=c))
printf("不是等边三角形"); 这句错了if里面错了555if括号里的函数值是true
#include"stdio.h"
void main()
{
int a,b,c;
printf("