编写c语言程序:输入三条边,判断是否构成三角形。若能构成三角形,再进一步判断该三角形是等腰三角形?直角三角形?还是一般三角形? 提示:按以下步骤设计程序 ① 输入三个变量a、b、c的值(表示三条边); ② 找到3个数中最大数,比如a最大; ③ 判断若b+c>a,则构成三角形,否则不是; ④ 在③基础上,若为三角形,则进一步判断b=c或a=b或a=c,即是否为等腰三角形; ⑤ 在③基础上,若为三角形,则进一步判断b2+c2=a2,即是否为直角三角形。
时间: 2023-04-09 15:00:52 浏览: 189
我可以回答这个问题。以下是C语言程序的代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
printf("请输入三角形的三条边:\n");
scanf("%f%f%f", &a, &b, &c);
float max = a;
if (b > max) max = b;
if (c > max) max = c;
if (max < a + b + c - max)
{
printf("可以构成三角形\n");
if (a == b || b == c || a == c)
{
printf("这是一个等腰三角形\n");
}
if (a*a + b*b == c*c || b*b + c*c == a*a || a*a + c*c == b*b)
{
printf("这是一个直角三角形\n");
}
if (a != b && b != c && a != c)
{
printf("这是一个一般三角形\n");
}
}
else
{
printf("不能构成三角形\n");
}
return 0;
}
相关问题
c语言输入三角形的三条边,判断它能否构成三角形,若能则指出是何种三角形:等腰三角形?等边三角形?直角三角形?等腰直角三角形?一般三角形?若不能,输出 不是三角形
要判断三条边能否构成三角形,可以使用三角形的三边关系定理:任意两边之和大于第三边。在C语言中,可以通过输入三个边长,然后使用if语句进行判断。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
float side1, side2, side3;
printf("请输入三角形的三条边长:\n");
scanf("%f %f %f", &side1, &side2, &side3);
if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) {
if (side1 == side2 && side2 == side3) {
printf("这是一个等边三角形。\n");
} else if (side1 == side2 || side1 == side3 || side2 == side3) {
if (side1 * side1 + side2 * side2 == side3 * side3 ||
side1 * side1 + side3 * side3 == side2 * side2 ||
side2 * side2 + side3 * side3 == side1 * side1) {
printf("这是一个等腰直角三角形。\n");
} else {
printf("这是一个等腰三角形。\n");
}
} else if (side1 * side1 + side2 * side2 == side3 * side3 ||
side1 * side1 + side3 * side3 == side2 * side2 ||
side2 * side2 + side3 * side3 == side1 * side1) {
printf("这是一个直角三角形。\n");
} else {
printf("这是一个一般三角形。\n");
}
} else {
printf("这不是一个三角形。\n");
}
return 0;
}
```
用C语言写出输入三角形的三条边判断是否构成三角形,若能指出是什么三角形
好的,以下是C语言实现的程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
printf("请输入三角形的三条边长:\n");
scanf("%f%f%f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a)
{
if (a == b && b == c)
{
printf("这是一个等边三角形\n");
}
else if (a == b || a == c || b == c)
{
printf("这是一个等腰三角形\n");
}
else 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;
}
```
程序首先要求输入三角形的三条边长,然后根据三角形成立的条件判断它们是否能构成三角形。如果能构成三角形,则再根据边长的关系判断它是等边三角形、等腰三角形、直角三角形还是普通三角形,最后输出判断结果。如果不能构成三角形,则直接输出无法构成三角形的信息。
注意:程序中的平方计算要使用 `*` 符号,而不是 `^` 符号。同时,为了避免精度问题,我们可以使用 `math.h` 头文件中的 `pow()` 函数来进行平方计算。