2024.10.28 C语言练习

191 阅读1分钟

题目一

读入3个double型变量a,b,c的值,用if语句判断它们能否构成三角形,如果能构成三角形又是构成的何种三角形(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)?输出各种情况下判断的结果。

分解任务要求:

1.判断三边是否构成三角形(两边之和大于第三边&&两边之差小于第三边,但要给三边排序);

2.判断三角形类型;

3.输出结果;

代码

`#include<stdio.h>

#include<math.h>

int main()

{

    double a, b, c;

    printf("Please input 3 lines:");

    scanf("%lf %lf %lf", &a, &b, &c);

    if (a <= 0 || b <= 0 || c <= 0)

    {

 

        printf("Error input!\n");

    }

 

    else

    {

        if (a + b > c && a + c > b && b + c > a)

        {

             if (fabs(a * a + b * b - c * c) < 1E-2 || fabs(b * b + c * c - a * a) < 1E-2 || fabs(a * a + c * c - b * b) < 1E-2)

             {

                 printf("%f,%f,%f is right triangle.\n", a, b, c);

             }

             else

             {

                 printf("%f,%f,%f is an ordinary triangle.\n", a, b, c);

             }

 

 

 

        }

        else

        {

             printf("%f,%f,%f is not triangle.\n", a, b, c);

        }

  }

 return 0;

    }`