用计算人体基础代谢率BMR来对比C与C++输入输出的区别

2023-10-20 16:20

本文主要是介绍用计算人体基础代谢率BMR来对比C与C++输入输出的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

功能需求:

人每时每刻都在消耗能量,使用BMR(Basic Metabolic Rate)来计算人全无活动(睡一整天)时所需的热量。下面介绍人每天至少需要多少热量(附热量计算公式)?女: BMR = 65.5 + ( 9.6 × 体重kg ) + ( 1.8 × 身高cm ) - ( 4.7 × 年龄years )男: BMR = 66 + ( 13.7 × 体重kg ) + ( 5 × 身高cm ) - ( 6.8 × 年龄years )请同学们编写程序计算你每天的基础代谢率BMR。

1.C使用scanf,printf输入输出,包含头文件stdio.h

以下是用C语言编写的计算基础代谢率(BMR)的代码示例:

#include <stdio.h>int main() {int gender;double weight, height, age, bmr;printf("请选择性别(1代表女性,2代表男性):");scanf("%d", &gender);printf("请输入体重(kg):");scanf("%lf", &weight);printf("请输入身高(cm):");scanf("%lf", &height);printf("请输入年龄(岁):");scanf("%lf", &age);if (gender == 1) {bmr = 65.5 + (9.6 * weight) + (1.8 * height) - (4.7 * age);} else if (gender == 2) {bmr = 66 + (13.7 * weight) + (5 * height) - (6.8 * age);} else {printf("无效的性别选择。\n");return 0;}printf("您每天的基础代谢率(BMR)为:%.2lf千卡。\n", bmr);return 0;
}

 2.C++使用cin,cout输入输出,包含头文件iostream

以下是用C++编写的计算基础代谢率(BMR)的代码示例:

#include <iostream>
using namespace std;int main() {int gender;double weight, height, age, bmr;cout << "请选择性别(1代表女性,2代表男性):";cin >> gender;cout << "请输入体重(kg):";cin >> weight;cout << "请输入身高(cm):";cin >> height;cout << "请输入年龄(岁):";cin >> age;if (gender == 1) {bmr = 65.5 + (9.6 * weight) + (1.8 * height) - (4.7 * age);} else if (gender == 2) {bmr = 66 + (13.7 * weight) + (5 * height) - (6.8 * age);} else {cout << "无效的性别选择。" << endl;return 0;}cout << "您每天的基础代谢率(BMR)为:" << bmr << "千卡。" << endl;return 0;
}

请注意,这只是一个简单的示例代码,没有进行输入验证和错误处理。在实际应用中,你可能需要添加更多的代码来确保输入的有效性和程序的健壮性。

这篇关于用计算人体基础代谢率BMR来对比C与C++输入输出的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248259

相关文章

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会