计算任意三角形的面积。

求三角形面积函数。编写一个求任意三角形面积的函数,并在主函数中调用它,计算任意三角形的面积。

#include <stdio.h>
#include <math.h>

float triangleArea(float side1, float side2, float side3);

int main() {
    float a, b, c, area;
    
    printf("请输入三角形的三条边长(用空格隔开):");
    scanf("%f %f %f", &a, &b, &c);
    
    area = triangleArea(a, b, c);
    printf("该三角形的面积为:%.2f\n", area);
    
    return 0;
}

float triangleArea(float side1, float side2, float side3) {
    float p, area;
    
    p = (side1 + side2 + side3) / 2;
    area = sqrt(p * (p - side1) * (p - side2) * (p - side3));
    
    return area;
}

该回答引用ChatGPT4与博主@晓码自在合作编写:

这里是一个完整的C语言实现三角形面积函数的实例,包含步骤注释:

c
/*
* 求任意三角形面积
* 
* 步骤:
* 1. 定义函数triangle_area(),接收三角形三条边长a, b和c为参数
* 2. 根据三条边长计算半周长s = (a + b + c) / 2
* 3. 根据海伦公式计算面积:area = sqrt(s*(s-a)*(s-b)*(s-c)) 
* 4. 返回计算得到的面积
* 
* 在主函数中:
* 5. 定义三角形三条边长a, b和c
* 6. 调用triangle_area()函数计算面积
* 7. 打印输出面积结果
*/

#include <stdio.h>
#include <math.h>

float triangle_area(float a, float b, float c) {
    /* 
     * 求任意三角形的面积
     * a, b, c 为三角形三条边长
     */
    float s = (a + b + c) / 2;  // 计算半周长
    float area = sqrt(s*(s-a)*(s-b)*(s-c)); // 根据海伦公式计算面积
    return area;
}

int main() {
    float a = 3;  // 三角形第一条边长
    float b = 4;  // 三角形第二条边长 
    float c = 5;  // 三角形第三条边长
    
    // 调用triangle_area()函数计算面积
    float area = triangle_area(a, b, c);
    printf("三角形面积为:%f \n", area);
}

输出:

三角形面积为:6.000000

这个例子通过详细的步骤注释说明了整个流程,包括:

  1. 定义triangle_area()函数来计算面积
  2. 在函数中根据三条边长计算半周长和面积
  3. 在主函数中设置输入值和调用函数
  4. 打印输出结果