请高手帮忙找一下我的程序哪里错了
当我输入4.242641,3,3,三个数时,它不是显示等腰直角三角形,而就是等腰三角形,哪里出错了?#include<stdio.h>#include<conio.h>#...
当我输入4.242641,3,3,三个数时,它不是显示等腰直角三角形,而就是等腰三角形,哪里出错了?
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c;
int i;
while(1){
scanf("%f,%f,%f",&a,&b,&c);
if(a<0 || b<0 || c<0)
printf("对不起,您输入有误,三边不可以为负数\n");
else {
if(a+b>c && a+c>b && b+c>a)
{
if(a!=b && b==c && a*a!=b*b+c*c || b!=c && c==a && b*b!=c*c+a*a || c!=a && a==b && c*c!=a*a+b*b)
printf("可以形成三角形,而且为等腰三角形\n");
else if(a==b && b==c && c==a)
printf("可以形成三角形,而且为等边三角形\n");
else if(a*a==b*b+c*c || b*b==c*c+a*a || c*c==a*a+b*b)
printf("可以形成三角形,而且为直角三角形\n");
else if(fabs(a*a-b*b-c*c)<1e-6 && b==c || fabs(b*b-c*c-a*a)<1e-6 && c==a || fabs(c*c-a*a-b*b)<1e-6 && a==b)
printf("可以形成三角形,而且为等腰直角三角形\n");
else printf("可以形成一般的三角形\n");
}
else
printf("不可以形成三角形\n");
printf("是否继续?y/n\n");
getchar();
if(getchar()=='n')break;
else printf("继续输入\n");}
}
} 展开
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c;
int i;
while(1){
scanf("%f,%f,%f",&a,&b,&c);
if(a<0 || b<0 || c<0)
printf("对不起,您输入有误,三边不可以为负数\n");
else {
if(a+b>c && a+c>b && b+c>a)
{
if(a!=b && b==c && a*a!=b*b+c*c || b!=c && c==a && b*b!=c*c+a*a || c!=a && a==b && c*c!=a*a+b*b)
printf("可以形成三角形,而且为等腰三角形\n");
else if(a==b && b==c && c==a)
printf("可以形成三角形,而且为等边三角形\n");
else if(a*a==b*b+c*c || b*b==c*c+a*a || c*c==a*a+b*b)
printf("可以形成三角形,而且为直角三角形\n");
else if(fabs(a*a-b*b-c*c)<1e-6 && b==c || fabs(b*b-c*c-a*a)<1e-6 && c==a || fabs(c*c-a*a-b*b)<1e-6 && a==b)
printf("可以形成三角形,而且为等腰直角三角形\n");
else printf("可以形成一般的三角形\n");
}
else
printf("不可以形成三角形\n");
printf("是否继续?y/n\n");
getchar();
if(getchar()=='n')break;
else printf("继续输入\n");}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询