- 34
- 0
- 约8.22千字
- 约 5页
- 2016-10-09 发布于广东
- 举报
c语言实验选择构程序设计
高级语言程序设计实验报告
实验2 选择结构程序设计
一、实验目的二、实验内容及步骤
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高 = (faHeight + moHeight) * 0.54(cm)
女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入小孩的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对小孩的身高进行预测。
程序代码:
#includestdio.h
main()
{
char sex,sports,diet;
float faHeight,moHeight,fh,mh;
printf(输入父亲身高:);
scanf(%f,faHeight);
printf(输入母亲身高:);
scanf(%f,moHeight);
getchar();
printf(输入小孩性别:);
scanf(%c,sex);
getchar();
printf(是否喜爱体育锻炼:);
scanf(%c,sports);
getchar();
printf(是否有良好的饮食习惯:);
scanf(%c,diet);
fh=(faHeight * 0.923 + moHeight) / 2;
mh=(faHeight + moHeight) * 0.54;
if(sex==F)
{ if(sports==Y) fh=fh*1.02;
if(diet==Y) fh=fh*1.015;
printf(小孩身高为:%.2f,fh);
}
else
{ if(sports==Y) mh=mh*1.02;
if(diet==Y) mh=mh*1.015;
printf(小孩身高为:%.2f,mh);
}
}
设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。
『运行结果:』
2、使用switch语句实现下面程序。
输入一个学生的两门课成绩(百分制),计算该生的总分并要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。总分在180分以上为‘A’,160~179分为‘B’,140~159分为‘C’,120~139分为‘D’,120分以下为‘E’。
具体要求:
①学生的两门课成绩通过键盘输入,成绩应该都为整数,输入之前要有提示信息。
②若输入的成绩不是百分制成绩,则给出错误提示信息,并且不再进行下面的等级评价;若输入的成绩是百分制成绩,则计算总分,并根据要求评价等级。
③按下面形式输出结果:
总分----〉等级
如: 186----〉A
把正确的程序源代码写在下面。
程序代码:
#includestdio.h
main()
{
int x,y,s;
printf(输入两门课成绩且为整数:);
scanf(%d%d,x,y);
if(x=100y=100)
{
s=x+y;
printf(%d,s);
switch(s/10)
{
case 20:
case 19:
case 18: printf(----〉A\n);break;
case 17:
case 16: printf(----〉B\n);break;
case 15:
case 14: printf(----〉C\n);break;
case 13:
case 12: printf(----〉D\n);break;
default: printf(E\n);
}
}
else
printf(成绩输入错误);
}
设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。
『运行结果:』
3、【选作】
给一个不多于5位的正整数,要求:
求出它是几位数;s
②分别打印出每一位数字;
③按逆序打印出各位数字,例如原数为321,应输出123。
[程序代码]:
#includestdio.h
main()
{long in
原创力文档

文档评论(0)