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语言的那些题(三) ―― 编程计算身高问题
今天,再和大家分享一道关于编程计算身高的问题. 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传.饮食习惯与坚持体育锻炼等.小孩成人后身高与 ...
- C语言作业 第二章 C语言的数据类型
C语言作业 第二章 C语言的数据类型 2.1 引例 运行结果: Programming is fun 说明 (1)程序中第一行: /*Output:"Programming is fun.& ...
- 东莞理工c语言作业,东莞理工学院C语言网上作业..doc
东莞理工学院C语言网上作业. <C语言程序设计>第2章作业 一. 单选题 (每小题5分,共100分,得分 45 分) 1.1.关于C程序的构成描述,_________是不正确的. A.一个 ...
- c语言作业指导1,C语言程序设计实验与习题指导
目录 部分C语言程序设计上机实验 实验1C语言概述 实验2C语言基本数据类型 实验3C语言表达式 实验4顺序结构程序设计 实验5选择结构程序设计 实验6基本循环结构程序设计 实验7嵌套循环结构程序设计 ...
- c语言作业的分析,C语言作业分析.doc
实验一 C程序的运行环境及简单程序编写(一) 一.实验目的 1. 了解VC++6.0集成环境的基本操作方法. 2. 了解在该系统上如何编辑.编译.连接和运行一个C程序. 3. 通过运行简单的C程序,初 ...
- java程序设计试题_《Java语言程序设计》期末考试模拟试题——填空题和编程题...
一.根据题意,填写出空格中的内容 Java平台包括三个技术方向,其中J2ME代表____________.J2SE代表___________.J2EE代表____________.2.面向对象的四大概 ...
- c语言作业 统计成绩,C语言作业 输入多名学生3门课程成绩,并统计成绩的平均分和总分,并根据总分输出名次。...
如一楼所言,没有多少人有这个时间来给你写.如果你只是为了交作业,建议你端正你的学习态度.如果你是一名学生成绩管理人员,建议稍微学一下Office,用Office进行学生成绩查询排名是很快的,拜托你能不 ...
- 交大c语言作业答案,西安交大c语言作业及答案详解.docx
工程分析程序设计 机作业(七) 上机目的:练习 C语言的书写.循环和判断结构 1.编写程序实现摄氏度和华氏度的相互转换: F =C *9 / 5 +32 #in clude main () { flo ...
- c语言作业 字符串替换,C语言字符串替换。解决方法
当前位置:我的异常网» C语言 » C语言字符串替换.解决方法 C语言字符串替换.解决方法 www.myexceptions.net 网友分享于:2015-04-14 浏览:0次 C语言字符串替换 ...
最新文章
- html实体编码遇上js代码
- php 百度逆地理编码,百度逆地址解析
- python加速循环嵌套的方法_如何加速python嵌套循环?
- 冲刺阶段——Day2
- 清华网红自行车火了!背后是登在《自然》上的黑科技
- c#定时备份mysql数据库_C# 定时备份数据库工具源码下载
- C++结构体变量的初始化和结构体char数组成员初始化
- 【STM32F103C8T6】 TTL转usb下载程序
- 模拟集成电路设计基础知识(一):MOS管结构及其I/V特性
- 线性代数及其应用(第三版)1.3节习题解答
- matlab基本,MATLAB最基础教程
- php基于纯真IP数据库实现IP地址信息查询
- xp系统计算机远程桌面连接不上,在XP系统中远程桌面连接不上的解决方式
- C/C++ fabs 函数 - C语言零基础入门教程
- 微信小程序旋转动画,图片转动view旋转等
- 哥德巴赫猜想(python)
- vscode远程连接服务器失败的问题
- 最窄770px最宽1024px的经典布局研究
- Git无法添加文件夹下文件
- 微信Mac版 v3.0.0正式版上线!mac电脑上也能在朋友圈点赞和互动!