当前位置: 首页 > news >正文

CExercise_05_1函数_2海伦公式求三角形面积

题目:

键盘录入三个边长(带小数),然后用海伦公式计算三角形的面积(如果它确实是一个三角形的话)

海伦公式求三角形面积:
在这里插入图片描述

要求基于下列两个函数完成这个编程题:

// 判断abc是否可以组成三角形,true表示可以组成,false表示不可以 bool is_triangle(int a, int b,
int c);

// 利用海伦公式在abc可以构成三角形的前提下,求三角形面积 double get_area(int a, int b, int c);
注意:不要忘记使用sqrt函数要包含头文件<math.h>


关键点

注意细节 除以2.0,整个式子是double类型的,这样能精确计算.

在这里插入图片描述


分析:


代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>
#include <math.h>

/*
海伦公式计算三角形的面积
*/

//判断abc是否可以组成三角形,true可,false假
bool is_triangle(int a, int b, int c);

//利用海伦公式在abc可以构成三角形的前提下,求三角形面积
double get_area(int a, int b, int c);

bool is_triangle(int a, int b, int c) {
    //任意两边之和大于第三边
    return (a + b > c) && (a + c > b) && (b + c > a);
}

double get_area(int a, int b, int c) {
    //错误的:  double s = (a+ b + c)/2; //计算半周长
    double s = (a+ b + c)/2.0; //计算半周长
    return sqrt(s * (s - a) * (s - b) * (s - c));//使用海伦公式计算面积
}

int main(void) {
    int a, b, c;//三角形的三边
    printf("请输入三角形的三边:");
    scanf(" %d%d%d", &a, &b, &c);

    if (!is_triangle(a, b, c)) {
        //不能组成三角形
        printf("Error: 无法组成三角形!\n");
        return -1;
    }

    //可以组成三角形,于是计算三角形面积
    double area = get_area(a, b, c);
    printf("三角形面积是: %.2lf\n", area);
    return 0;
}

在这里插入图片描述


解决方案总结:

相关文章:

  • YOLO学习笔记 | 基于YOLO与光流融合的车牌识别方法研究(附Matlab代码)
  • FastAPI依赖注入:从基础概念到应用
  • python+form+opengl显示动态图形数据
  • Nacos 的AP和CP底层是怎么实现的?
  • 多layout 布局适配
  • DHCP之报文格式
  • 记录 | Android getWindow().getDecorView().setSystemUiVisibility(...)设置状态栏属性
  • ubuntu22.04LTS设置中文输入法
  • VBA第三十七期 VBA如何通过事件触发监视所有打开的工作簿或工作表?
  • Linux——Linux系统调用函数练习
  • TCP基础篇(一)
  • 002.指纹浏览器进阶-传参指定操作系统为macOS
  • 【论文推荐|滑坡检测·空间预测·时间预测· 数据驱动的分析】机器学习在滑坡研究中的最新进展与应用(2022)(五)
  • 一周学会Pandas2 Python数据处理与分析-NumPy简介
  • OpenStack 卷虚拟机跨租户迁移方案
  • 频域插值重构——频率采样FIR数字滤波器设计法的理论基础
  • DAY 36 leetcode 1--哈希表.两数之和
  • JVM监控
  • 注册中心 Nacos 的 CP 和 AP 模式原理
  • 矢量瓦片切片工具
  • 学做网站论坛 可以吗/进入百度一下官网
  • 主题网站设计模板/qq刷赞网站推广全网
  • 弧光之源网站建设/做网站的好处
  • 河北公司网站建设效果/2023新闻大事10条
  • 凡科模板建站/网站seo内容优化
  • 德州网站seo/平台推广文案