C语言程序:输入三个数判断是否构成直角三角形

如题所述

代码如下:
#include<stdio.h>
int main()
{
float a, b, c;
scanf("%f%f%f",&a, &b, &c);
if (a+b>c&&a+c>b&&b+c>a)
{
if (a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("是直角三角形!\n");
else
printf("不是直角三角形!\n");
}
else
printf("不能构成三角形!\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-14
#include <stdio.h>
#include <math.h>
main()
{
double a,b,c;//保存三边数据
printf("请输入三角形三边:\n");
while (scanf("%lf %lf %lf",&a,&b,&c)==3)
{
if(a<1.0e-8||b<1.0e-8||c<1.0e-8)
{printf("数据非正数或数据太小,请重新输入\n");continue;}
if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))//判断是否为三角形
{
printf("是三角形,三边为:\n%0.8lf\n%0.8lf\n%0.8lf\n",a,b,c);
if(fabs(a*a+b*b-c*c)<=1.0e-16||fabs(a*a-b*b+c*c)<=1.0e-16||fabs(-a*a+b*b+c*c)<=1.0e-16)
printf("yes它是直角三角形\n");
else
printf("no它不是直角三角形\n");
break;
}
else
{ printf("这不是三角形,请重新输入:\n");continue; }
}
}
第2个回答  2013-05-30
int a,b,c;
printf("请输入第一个数:\n") ;
scanf("%d",&a);
printf("请输入第二个数:\n") ;
scanf("%d",&b);
printf("请输入第三个数:\n") ;
scanf("%d",&c);
if (a*a+b*b=c*c || a*a+c*c=b*b || b*b+c*c=a*a)
print("可以构成直角三角形")
else
print("不能构成直角三角形")
相似回答