C语言的赋值问题,求改

输出三角形的三边长,判断能不能组成三角形?如果能,计算三角形的面积。

img


求修改

让你先判断能不能成三角形,你判断的代码呢

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7446447
  • 这篇博客你也可以参考下:输入三角形的三条边长,判断其是否能构成三角形,并计算其面积。
  • 你还可以看下c语言参考手册中的 c语言-调用、逗号、三元
  • 除此之外, 这篇博客: C程序设计中的 例3.4 给出三角形的三边长,求三角形的面积。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include<stdio.h>
    #include<math.h>
    int main()
    {
    double a,b,c,s,area;
    a=3.67;
    b=5.43;
    c=6.21;
    s=(a+b+c)/2;
    area=sqrt(s*(s-a)(s-b)(s-c));
    printf(“a=%f\tb=%f\tc=%f\n”,a,b,c);
    printf(“area=%f\n”,area);
    return 0;
    }
    在这里插入图片描述

  • 您还可以看一下 李南江老师的零基础学会C语言课程中的 循环嵌套练习三(掌握)小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    思路:

    1. 通过输入三个数a、b、c,判断是否能构成三角形,判断条件是三角形中任意两边之和大于第三边,即 a+b>c, a+c>b, b+c>a。

    2. 如果可以构成三角形,求解三角形的面积:用海伦公式 s=sqrt(p(p-a)(p-b)*(p-c)) ,其中p = (a+b+c)/2。

    3. 输出结果,保留两位小数。

    代码示例:

    #include <stdio.h>
    #include <math.h>
    
    int main() {
        float a, b, c, p, s;
        printf("请输入三角形的三边长:\n");
        scanf("%f%f%f", &a, &b, &c);
        if (a + b > c && a + c > b && b + c > a) {
            p = (a + b + c) / 2;
            s = sqrtf(p * (p - a) * (p - b) * (p - c));
            printf("可以构成三角形,面积为:%.2f\n", s);
        } else {
            printf("无法构成三角形\n");
        }
        return 0;
    }
    

    代码解释:

    1. 定义三个变量a、b、c存储输入的三角形三边长,用scanf函数进行输入。

    2. 判断输入的三边长是否能构成三角形,判断条件已经在思路中给出,用if语句实现。

    3. 如果可以构成三角形,计算三角形面积,用了math.h头文件中的sqrtf函数求平方根,以及pow函数求幂次方(这里没用到,只是演示)。

    4. 用printf函数输出结果,保留两位小数可以用%.2f格式控制符。