用c语言判断三个数能不能组成三角形并输出三角形面积
时间: 2023-05-27 20:05:03 浏览: 86
以下是用C语言编写的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, s, area;
printf("请输入三角形的三边长:");
scanf("%f%f%f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("这三条边可以组成三角形,面积为:%f\n", area);
} else {
printf("这三条边不能组成三角形!\n");
}
return 0;
}
```
解释:
1. 首先,我们需要输入三角形的三边长。
2. 然后,我们使用 if 语句判断这三条边是否能够组成三角形。如果不能组成三角形,则输出提示信息;如果可以组成三角形,则继续执行下面的代码。
3. 计算三角形的半周长 s,公式为:s = (a + b + c) / 2。
4. 计算三角形的面积 area,公式为:area = sqrt(s * (s - a) * (s - b) * (s - c)),其中 sqrt 函数是求平方根的函数,需要在 math.h 头文件中引入。
5. 最后,输出三角形的面积。
相关问题
我想用C语言实现 判断三个数能否组成三角形 如果能 输出三角形面积 如果不能 输出Error
可以使用以下代码实现:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
float s, area;
printf("请输入三个数,用空格隔开:");
scanf("%f %f %f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%f\n", area);
} else {
printf("Error\n");
}
return ;
}
用c语言表示如何判断三个数能不能组成等腰直角三角形
要判断三个数a、b、c能否组成等腰直角三角形,需要满足以下条件:
1. 三个数中必须有两个数相等。
2. 相等的两个数的平方和等于第三个数的平方。
C语言代码如下:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c;
printf("请输入三个数,用空格隔开:");
scanf("%d %d %d", &a, &b, &c);
if ((a*a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a))
{
if (a == b || a == c || b == c)
{
printf("这三个数能组成等腰直角三角形。\n");
}
else
{
printf("这三个数不能组成等腰直角三角形。\n");
}
}
else
{
printf("这三个数不能组成等腰直角三角形。\n");
}
return 0;
}
```