c语言程序设计第三版 孩子身高,C语言的那些题(三) ―― 编程计算身高问题
今天,再和大家分享一道关于编程计算身高的问题.
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。设faHeight为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高 = (faHeight + moHeight) * 0.54(cm),女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm),此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。程序要求:父亲的身高与母亲的身高、小孩的性别、是否喜爱体育锻炼和是否有良好的卫生饮食习惯也从键盘上输入,最终输出预测的身高。
提示:小孩性别的输入方式,可在屏幕给出提示“请输入小孩的性别(男孩输入M,女孩输入F):”。是否喜爱体育锻炼也可以通过类似的方式实现。
首先,分析一下这道题目,它要求各项影响因素指标都要从控制台输入,并且输入时有提示,所以要用到多个输入输出函数.其次,影响身高的因素也很多,所以要通过多个if - else语句来判断.看一下实现代码:
float faHeight = 0, moHeight = 0, adultHeight = 0;
char childSex = 0, sport = 0, health = 0;
printf("请输入父亲的身高(cm):");
scanf("%f", &faHeight);
printf("请输入母亲的身高(cm):");
scanf("%f", &moHeight);
printf("请输入小孩的性别(男孩输入M,女孩输入F):");
getchar();
scanf("%c", &childSex);
printf("小孩是否喜爱体育锻炼(喜欢输入Y,不喜欢输入N):");
getchar();
scanf("%c", &sport);
printf("小孩是否有良好的饮食习惯(有输入Y,没有输入N):");
getchar();
scanf("%c", &health);
if (childSex == 'M') {
if (sport == 'Y' && health == 'Y') {
adultHeight = ((faHeight + moHeight) * 0.54) * (1 + 0.035);
} else if (sport == 'Y' && health == 'N') {
adultHeight = ((faHeight + moHeight) * 0.54) * (1 + 0.02);
} else if (sport == 'N' && health == 'Y') {
adultHeight = ((faHeight + moHeight) * 0.54) * (1+ 0.015);
} else if (sport == 'N' && health == 'N') {
adultHeight = (faHeight + moHeight) * 0.54;
}
printf("预测的身高是:%f", adultHeight);
} else if (childSex == 'F') {
if (sport == 'Y' && health == 'Y') {
adultHeight = ((faHeight * 0.923 + moHeight) / 2) * (1 + 0.035);
} else if (sport == 'Y' && health == 'N') {
adultHeight = ((faHeight * 0.923 + moHeight) / 2) * (1 + 0.02);
} else if (sport == 'N' && health == 'Y') {
adultHeight = ((faHeight * 0.923 + moHeight) / 2) * (1 + 0.015);
} else if (sport == 'N' && health == 'N') {
adultHeight = (faHeight * 0.923 + moHeight) / 2;
}
printf("预测的身高是:%.2f", adultHeight);
}
做这道题时,刚开始遇到了一个问题,最初在输入输出时没有用getchar()语句,在输入身高之后,导致输入字符不成功,后来了解到是输入时按回车键时相当于产生了\n字符,占用了缓冲区,这时就需要用到getchar()语句把\n取出来,保证下面输入顺利执行。关于getchar()语句的详细用法,我了解不多,就不在这里多说,如果这题关于getchar()语句解释错误或者这道题有问题,还望各位不吝赐教。
c语言程序设计第三版 孩子身高,C语言的那些题(三) ―― 编程计算身高问题相关推荐
- c语言程序设计教程第二版李春葆,C语言程序设计教程.第2版
摘要: 本书将C语言程序设计分成入门基础,程序设计的基本结构,模块化程序设计的结构3个循序渐进的部分.主要介绍C语言程序的基本结构,数据的表达方式,基本表达式语句等内容.书中以实例导入,以程序为核心, ...
- python语言程序设计微课版_《Python语言程序设计(微课版)》【摘要 书评 试读】- 京东图书...
权利声明: 京东上的所有商品信息.客户评价.商品咨询.网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用. 注:本站商品信息均来自于合作方,其真实性.准确性和合法性由信息拥有者(合作方) ...
- 第三章 函数 C++语言程序设计第五版 - 郑莉
本专栏为C++学习笔记,参考书籍为:C++语言程序设计 第五版 -清华大学出版社- 郑莉 B站视频:https://space.bilibili.com/702528832/video PPT与代码已 ...
- C++语言程序设计第五版 - 郑莉(第三章课后习题)
第3章 函数 3-8 编写函数把华氏温度转换为摄氏温度,公式为:C = (F - 32) * 5/9 在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度. #include<iost ...
- C++语言程序设计第五版 - 郑莉-绪论(一)
本专栏为C++学习笔记,参考书籍为:C++语言程序设计 第五版 -清华大学出版社- 郑莉 B站视频:https://space.bilibili.com/702528832/video PPT与代码已 ...
- c语言程序设计第五版课后习题答案谭浩强第八章课后题
c语言程序设计第五版课后习题答案谭浩强第八章课后题 输入三个字符串,按由大到小的顺序输出 要求用指针实现 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换.写三个函数:1.输入 ...
- C++语言程序设计(第5版 郑莉、董渊)学习笔记(自用~)
C++语言程序设计 第5版 1.前言 2.内容 第一章 绪论 1.1语言发展 1.1.1 概述 机器语言-->汇编语言-->高级语言(包括C++) 1.1.2 面向对象 结构化程序设计(面 ...
- c 语言程序设计第四版郑莉答案,C 语言程序设计郑莉(第4版)
<C++语言程序设计(在线教学版?第4版)/清华大学计算机系列教材,普通高等教育"十一五"规划教材>针对程序设计的初学者,以面向对象的程序设计思想为主线,以通俗易懂的方 ...
- 将123倒转 c语言,中国航信杯C语言程序设计答案解析版.doc
中国航信杯C语言程序设计答案解析版 2 - 1 - 25 - (比赛科目:C语言程序设计) 软件要求与硬件要求 软件要求 WinTC(版本:V1.9.1) Dev C++(版本:4.9) Visual ...
最新文章
- 【DevOps进行时】自动化测试之单元测试
- C# 7.0中的解构功能---Deconstruct
- 2016年光伏电站交易和融资的十大猜想
- statsmodels学习——使用多元回归拟合数据
- intellij 专业版 TomCat9
- Tensorflow 2.x代码中如何控制随机性以保证结果可重复性
- 层次分析法(小白必看手机查看)
- ojdbc6.jar下载Linux,Linux下 和 Windows 下 Oracle Instant Client 的安装.
- 大学生性价比计算机推荐,2018大学生笔记本推荐_良心笔记本推荐【性价比之王】-太平洋电脑网...
- 站斧超级浏览器风控系统助力Lazada商家安全管理
- 缤纷彩色文字广告代码,文字广告代码美化版,给网站添加文字广告教程
- 我在舒舍的短租生活之旅
- 计算机基础(一):二进制详解
- 被病毒感染后隐藏文件夹的隐藏属性变灰(不可修改)的解决办法!
- 【翻译论文】Understanding Reuse, Performance, and Hardware Cost of DNN......
- 输入两个质数的乘积,求乘数中较大的那个质数
- MATLAB实现模拟推导π的值
- Spring5 新特性之 webflux
- 2023年广东数据分析师CPDA认证招生简章(理论+实战)
- 锁定计算机后怎样解锁,如何在锁定键盘时解锁计算机键盘. 详细的方法介绍