38563325.doc (匡珍春制作)
以文件名fenli.c最终保存在实验4文件夹里。(需要存盘) 【提示】:该题的系统流程图描述如下:
设计程序实例4-5:身高预测将编写好的程序以文件名Height.c最终保存在实验4文件夹里。(需要存盘) 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeight×0.923 + moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
第 11 页 共 14 页
38563325.doc (匡珍春制作)
【相关说明:】通过这个实际例子熟悉选择结构程序设计的方法,以及if语句,进一步熟悉VC++6.0集成环境的程序编辑、编译、链接、运行和调试方法。 设计程序实例4-6:简单的计算器
用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
本实验程序是在理论教材P55例4.9的基础上,增加如下要求:
(1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?如何比较实型变量data2和常数0是否 相等?将修改好的程序以文件名comput1.c最终保存在你实验4文件夹里。(需要存盘)
(2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空白符,那么程序如何修改?将修改好的程序以文件名comput2.c最终保存在你实验4文件夹里。(需要存盘)
(3)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:
Do you want to continue(Y/N or y/n)?
用户输入Y或y时,程序继续进行其他算术运算;否则程序退出运行状态。那么,程序如何修改?
【思考题】比较实型变量data2和常数0是否相等,能用if (data2 == 0)吗?为什么?
【相关说明:】通过这个实际例子熟悉选择结构程序设计的方法,以及switch语句,进一步熟悉VC++6.0 集成环境的程序编辑、编译、链接、运行和调试方法。
对于第(3)题,可利用%1s格式符输入用户回答,利用do-while语句实现反复运算直到用户键入N或n。
第 12 页 共 14 页
38563325.doc (匡珍春制作)
★作业上交(千万不要忘记):
C程序编译、连接、运行成功后,请务必将源程序(扩展名为.C、存于E:盘以本人姓名为名称的文件夹下,如E:\\匡珍春\\c01.c)复制到K:盘对应的文件夹中,如K(01):\\ 工业..109105匡珍春\\实验4,才算上交作业。
注:为了方便自己使用,不妨将源程序备份到可移动存储器上(如U盘、手机卡等)
★ 强烈建议:
先理解消化例题及习题(书上提供了答案),然后再做编程题。因为这样效
果会好些。
★ 知识归纳与总结
◆ 交换两个变量值的方法 ▼ 问题描述:编程实现对两个变量的值进行交换 ▼ 方法1:借助于第三个变量(临时变量)
此方法最容易理解,较常用,特别适合初学程序设计的人。 算法理解:我们不妨借助于“水与醋的交换”过程来帮助理解。 【源程序清单:】
第 13 页 共 14 页
38563325.doc (匡珍春制作)
▼ 方法2:不使用第三个变量
【源程序清单:】(变量值的交换过程不妨参见下面有关注释语句)
▼ 方法3:利用函数调用或指针(暂不讲)
◆ 找出正整数各位上的数字方法 ▼ 问题描述:给出一个不多于4位正整数,求出它是几位数,分别输出每一位数字。 ▼ 方法:利用整数的除法和求余(模)运算
例:找出一个任意四位正整数n的每一位数字的方法:
个位数字a: a = n; 十位数字b: b = n/10; 百位数字c: c = n/100;
千位数字d: d= n/1000; 或d= n/1000; (why?)
总结:找出n位正整数各位上的数字方法是充分利用除法(/)和模(%)运算,只要完全理解以上两
个运算符的功能,就不难找出正整数的各位数字。
思考:能否写出不同的表达式来求正整数的每一位数字?
第 14 页 共 14 页