c语言从键盘任意输入三个正数作为三角形的边长,编写代码判断是否能组成三角形,

发布网友 发布时间:2022-04-23 15:53

我来回答

2个回答

热心网友 时间:2023-10-08 22:46

一、数学定理。

判断三边是否可以组成三角形,数学定理为,任意两边和必须大于第三边。

二、流程。

1、输入三条边长度;

2、 由于题目*输入为三个正数,所以无需判断输入的合法性,直接对任意两边相加,判断是否大于第三边即可;

3、如果三次判断均成立,则可以组成三角形,否则不能;

4、输出结果。

三、参考代码:

#include <stdio.h>
int main()
{
    double a,b,c;//任意正数,没有限定为整数,所以用double存储。
    scanf("%lf%lf%lf",&a,&b,&c);//输入三条边。
    if(a+b>c&&a+c>b&&b+c>a)//根据定理进行判断。
        printf("可以组成三角形\n");//输出结果
    else
        printf("无法组成三角形\n");
        
    return 0;
}

热心网友 时间:2023-10-08 22:46

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,max;
printf("请分别输入三角形的三边长:");
scanf("%f%f%f",&a,&b,&c);
max=a;
if(b>max)
max=b;
if(c>max)
max=c;
if(a+b>c&&b+c>a&&a+c>b)
{
if(a==b&&b==c&&a==c)
printf("等边三角形\n");
else if(a!=b&&a!=c&&b!=c&&(max*max==a*a+b*b||a*a+c*c||b*b+c*c))
printf("直角三角形\n");
else if(a==b||a==c||b==c&&(max*max!=a*a+b*b||a*a+c*c||b*b+c*c))
printf("等腰三角形\n");
else if(a==b||a==c||b==c&&(max*max==a*a+b*b||a*a+c*c||b*b+c*c))
printf("等腰直角三角形\n");
else
printf("一般三角形\n");
}
else
printf("不能构成三角形\n");
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com