练习13—几何求算

简介: 练习13—几何求算

题目

设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。取小数点后2位数字,请编写程序。

解题步骤

(1)变量、常量定义;

(2)函数定义;

(3)函数调用;

(4)输出结果;

C语言

#include <stdio.h>
#include <math.h>
#define PI 3.14
float CirclePerimeter(float radius)
{
    return 2 * PI * radius;
}
float CircleArea(float radius)
{
    return PI * pow(radius, 2);
}
float SphereSurfaceArea(float radius)
{
    return 4 * PI * pow(radius, 2);
}
float SphereVolume(float radius)
{
    return 4 / 3 * PI * pow(radius, 3);
}
float CylinderVolume(float radius, float height)
{
    return PI * pow(radius, 2) * height;
}
int main()
{
    float r = 1.5, h = 3;
    printf("CirclePerimeter=%.2f\n", CirclePerimeter(r));
    printf("CircleArea=%.2f\n", CircleArea(r));
    printf("SphereSurfaceArea=%.2f\n", SphereSurfaceArea(r));
    printf("SphereVolume=%.2f\n", SphereVolume(r));
    printf("CylinderVolume=%.2f\n", CylinderVolume(r, h));
    return 0;
}

说明

  1. 对需求进行拆分,在一个个函数中 “逐个击破”,“分而治之”思想;
  2. 使用C语言中<math.h>头文件下的数学函数pow()计算次方,例如pow(x,y)表示 x 的 y 次方;



相关文章
|
小程序 安全 API
支付宝消息订阅
订阅界面是根据当前小程序在商家平台配置的消息模板 id 来展示对应消息的订阅选项(参考接入流程第 4 步)。一次性:使用一次性消息模板订阅,每次向用户发送消息都需要用户在订阅界面点击同意后才可以发送。长期性:使用长期性消息模板订阅,用户同意订阅后,可以多次向订阅用户发送消息。
777 0
 支付宝消息订阅
|
SQL 缓存 Java
MyBatis-动态代理、执行器与缓存
概述 通过一条修改语句,我们来了解一下Mybatis的执行过程: 一般MyBatis在执行一条语句的时候会依次使用以下四个模块: 分别说下各个组件的作用 接口代理: 其目的是简化对MyBatis使用,底层使用动态代理实现。 Sql会话: 提供增删改查API,其本身不作任何业务逻辑的处理,所有处理都交给执行器。这是一个典型的门面模式设计。 执行器: 核心作用是处理SQL请求、事物管理、维护缓存以及批处理等 。执行器的角色更像是一个管理员,接收SQL请求,然后根据缓存、批处理等逻辑来决定如何执行这个SQL请求。并交给JDBC处理器执行具体SQL。 JDBC处理器:他的作用就是用于通过JDB
188 0
|
8月前
|
存储 安全 Linux
Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
通过使用这些技术和工具,可以有效管理CentOS 8系统上的存储资源,确保系统在高负载和高并发情况下的稳定运行。
580 9
|
Web App开发 前端开发 JavaScript
为什么浏览器兼容性在开发网站时很重要?
浏览器兼容性在网站开发中确实非常重要。
|
JavaScript API PHP
不用SMTP实现联系表单提交后发送邮件到指定邮箱
构建网站时,联系表单可通过邮件API(如SendGrid、Mailgun、Amazon SES)或第三方自动化服务(Zapier、Integromat)无需SMTP发送邮件。这些服务提供API接口和自动化工作流程,简化邮件发送。例如,使用SendGrid API在Python中发送邮件涉及注册、获取API密钥并编写发送邮件的代码。同样,Zapier可作为表单提交的触发器,自动发送邮件。此外,后端脚本(如PHPMailer)也能实现这一功能,但需编写处理SMTP的代码。选择适合的方法能优化邮件发送流程。
|
敏捷开发 搜索推荐 测试技术
软件开发职业心得:从新手到专家的转变
在软件开发领域,每位开发者都需要经历从新手到专家的成长过程。本文分享了六大职业心得:持续学习以应对快速变化的技术;注重代码质量,遵循规范并积极审查代码;提升沟通技巧,促进团队协作;培养问题解决能力,高效应对挑战;优化时间管理,提高工作效率;实施持续交付,确保软件质量。希望这些经验能助力你在软件开发之路上不断前行,最终成为行业专家。
|
存储 安全 物联网
未来科技潮流之下:探索区块链技术、物联网与虚拟现实的融合应用
在数字化时代的浪潮中,新兴技术如区块链、物联网(IoT)、和虚拟现实(VR)正逐渐渗透至社会的各个层面。本文将通过数据驱动的分析方法,探讨这些技术各自的发展趋势以及它们如何相互交织形成创新的应用场景。我们将深入解读最新的科研数据,并结合逻辑推理,揭示这些技术在未来可能带来的变革性影响。
177 31
|
数据采集 DataWorks 监控
DataWorks产品使用合集之数据集成任务日志中显示wait,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
C++ 安全
高效遍历:C++中分隔字符串单词的3种方法详解与实例
拷贝并交换(Copy-and-Swap)是C++中实现赋值操作符和异常安全拷贝构造函数的技巧。它涉及创建临时对象,使用拷贝构造函数,然后交换数据以确保安全。C++11之前的策略在此后及C++11引入的移动语义和右值引用下仍有效,但后者提供了更高效的实现方式。
111 0