写一个C语言

输入三角形的三边长,判断是否是直角三角形
算法分析和提示:
(1)首先要判断输入的三个数是否满足够成三角形的条件,即任意两边和大于第三边且任意两边差小于第三边,条件可以简化为:a+b>c且|a-b|<c。然后用勾股定理判断是否为直角三角形。
(2)C语言程序中某数平方的计算有两种方法:
方法1:x*x
方法2:使用函数pow
pow函数定义的头文件为math.h,格式为double pow(x,y),x和y的类型为float或double,功能为计算x的y次方。
(3)C语言系统提供的math.h有文件中包含了数学函数的定义,如绝对值函数abs()。

我给你看看我的代码吧,一会追问

#include<stdio.h>
int main()
{
 int a,b,c;
 printf("请输入三角形三条边长度:"); 
 scanf("%d%d%d",&a,&b,&c); 
 if(a>b)
 {
  int temp=a;a=b;b=temp;
 }
 if(b>c)
 {
  int temp=b;b=c;c=temp;
 }
 if(a+b<c)
 {
  printf("这个三角形不是直角三角形\n");
  return 0;
 }
 if(a*a+b*b!=c*c)
 {
  printf("这个三角形不是直角三角形\n");
  return 0;
 }
 printf("这个三角形是直角三角形\n");
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-20
#include <stdio.h>
#include <math.h>
int main(void)
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&fabs(a-b)<c)
{
if(fabs(c*c-a*a-b*b)<=1e-6
||fabs(b*b-a*a-c*c)<=1e-6
||fabs(a*a-b*b-c*c)<=1e-6)
puts("yes");
else
puts("no");
}
else
{
puts("no");
}
return 0;
}