就是一个简单的判断三角形的 if..else 语句题(书上说难度有两颗星)

题如下:

  从键盘输入三角形的三条边(整数),判断它们能否构成三角形。如果能构成三角形,判断是何种三角形:直角三角形,等边三角形,等腰三角形,和一般三角形?

具体要求:

  (1)输入,输出要有提示信息。

  (2)选用合适的语句。

  (3)对程序进行测试时,要针对不能构成三角形,直角三角形,等边三角形,等腰三角形,一般三角形的五种情况,来设计五个测试用例,程序运行结果示例如下:

  1.请输入三角形三条边a,b,c:1,2,3

   不能构成三角形

  2.请输入三角形三条边a,b,c:3,4,5

      直角三角形

  3.请输入三角形三条边a,b,c:3,3,3

     等边三角形

  4.请输入三角形三条边a,b,c:3,3,4

   等腰三角形

  5.请输入三角形三条边a,b,c:4,5,6

   一般三角形

  (4)如果所有变量都使用float或double类型,包括输入的三角形的三条边,程序中需要对实数进行比较,如何修改?

tip:经实测输入#define _CRT_SECURE_NO_WARNINGS 1  后scanf不用再改为scanf_s 

  话不多说 看完题 直接上代码!!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
    float a, b, c;
    double t, j, k;
    printf("请输入三角形三边a,b,c:n");
    scanf("%d %d %d", &a, &b, &c);
    t = pow(a, 2);
    j = pow(b, 2);
    k = pow(c, 2);
        if (a == b && b == c && a == c)
        {
            printf("该三角形为等边三角形n");
        }
        else
        {
            if (a == b || a == c || b == c)
            {
                printf("该三角形为等腰三角形n");
            }
            else 
            {
                 if (t == j + k || j == k + t || k == j + t)
                {
                    printf("该三角形为直角三角形n");
                 }
                 else
                 {
                     if (a + b > c || a + c > b || b + c > a)
                    {
                        printf("该三角为普通三角n");
                     }
                     else 
                     {
                        printf("这不是三角形,请重新输入数据!n");
                     }
                 }
            }
        }
    printf("感谢你的使用B站up主:李同学比心心  写的代码n");
}

同样本篇也给出一个运行结果 如果需要其他运行结果图 可以自行运行代码 或者私信我

 

有想看什么程序的 可以评论喔~~~

阿婆主的粉丝少 肯定会回的啦

难度指数:两颗星

欢迎给出最优解!!

内容来源于网络如有侵权请私信删除