C语言输入三角形的三边,判断它是否为直角三角形
时间: 2024-05-14 22:15:48 浏览: 290
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
可以使用勾股定理来判断一个三角形是否为直角三角形。具体做法是:将输入的三条边按照大小进行排序,设最长的边为c,其余两边为a和b。如果c*c=a*a+b*b,那么这个三角形就是直角三角形。
下面是一个简单的C语言程序实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a, b, c;
printf("请输入三角形的三条边:\n");
scanf("%f %f %f", &a, &b, &c);
if(a > b){
float tmp = a;
a = b;
b = tmp;
}
if(b > c){
float tmp = b;
b = c;
c = tmp;
}
if(a > b){
float tmp = a;
a = b;
b = tmp;
}
if(fabs(c*c - a*a - b*b) < 1e-6){
printf("这是一个直角三角形!\n");
}else{
printf("这不是一个直角三角形!\n");
}
return 0;
}
```
在这个程序中,我们首先使用scanf函数读入用户输入的三条边a、b、c,然后使用if语句进行边的排序,确保c是最长的边。最后,使用fabs函数判断三角形是否为直角三角形。
注意,由于浮点数的精度问题,我们在判断c*c是否等于a*a+b*b时不能直接使用==运算符,而是需要使用类似fabs(c*c-a*a-b*b)<1e-6这样的方式。
阅读全文