#include "stdafx.h"
#include "math.h"
int main(int argc, char* argv[])
{
int a,b,c;
printf("请分别输入三角形的三条边a,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(a==b||a==c||b==c)
printf("该三角形为等腰三角形\n");
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
printf("该三角形为直角三角形\n");
else if(a==b==c||a==c==b||b==c==a)
printf("该三角形为等边三角形\n");
else
printf("该三角形为普通三角形\n");
}
else
printf("所输入边长不符合要求\n");
return 0;
}
怎么输入三条边长相等,输出即是等边又是等腰的三角形,我输入等边也说是等腰怎么回事? 而且我输入 4,5,6 输出的是直角三角形 怎么回事?
if( a==b && a==c && b==c )
{
printf("等边\n");
}else if( a==b || a==c || b==c )
{
printf("等腰\n");
}else if( )
{
略
贴错图了吧?哪里有判断等边等腰的代码?
尽量贴代码,把代码放到代码片里。工具栏上面有。否则贴出来错误多。
what you want?
else if(a+b==c||a+c==b||b+c==a)
printf("该三角形为等边三角形\n");
由这一句话判断你没上过初中
#include
#include
#define EPS 1e-1
main()
{
float a,b,c;
int _flag=1;//区分三角形为{一般(1)/特殊(0)}三角形标志
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b){//判断三边是否符合组成三角形
if(fabs(a-b)<=EPS&&fabs(b-c)<=EPS&&fabs(c-a)<=EPS){
printf("等边");//先判断等边三角形情形
_flag=0;
}else if(fabs(a-b)<=EPS||fabs(b-c)<=EPS||fabs(c-a)<=EPS){
printf("等腰");
_flag=0;
}
if(fabs(a*a+b*b-c*c)<=EPS||fabs(a*a+c*c-b*b)<=EPS||fabs(c*c+b*b-a*a)<=EPS){
printf("直角");
_flag=0;
}
if(_flag){
printf("一般");
}
printf("三角形\n");
}else{
printf("不是三角形\n");
}
return 0;
}