高级语言程序设计实验报告

高级语言程序设计实验报告
高级语言程序设计实验报告

高级语言程序设计实验报告

实验一选择结构程序设计

班级 179 学号 2011179 姓名

一、实验目的

1、熟悉VC6.0编程环境。

2、进一步熟悉用VC6.0调试C语言源程序的过程。

3、熟练使用关系表达式和逻辑表达式作为if语句的条件判断。

4、熟练掌握if语句和switch语句的使用方法。

二、实验内容及步骤

1、身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。

设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表示不喜爱),利用给定公式和身高预测方法对小孩的身高进行预测。

程序代码:

#include"stdio.h"

#include"conio.h"

main()

{

char sex,sports,diet;

double faHeight,moHeight,height;

printf("请输入性别(M表示男/F表示女)\n");

scanf("%c",&sex);

printf("请输入父亲身高和母亲身高\n");

scanf("%lf%lf",&faHeight,&moHeight);

printf("是否喜欢体育锻炼?(Y/N)\n");

sports=getche();

printf("\n");

printf("是否有良好的饮食习惯?(Y/N)\n");

diet=getche();

printf("\n");

if(sex=='F'||sex=='f')

height=(faHeight*0.923+moHeight)/2;

if(sex=='M'||sex=='m')

height=(faHeight+moHeight)*0.54;

if(sports=='Y'||sports=='y')

height=1.02*height;

if(diet=='Y'||diet=='y')

height=1.015*height;

printf("这个孩子成人后的身高为%lf厘米\n",height);

}

设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。

『运行结果:』

2、使用switch语句实现下面程序。

输入一个学生的两门课成绩(百分制),计算该生的总分并要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。总分在180分以上为‘A’,160~179分为‘B’,140~159分为‘C’,120~139分为‘D’,120分以下为‘E’。

具体要求:

①学生的两门课成绩通过键盘输入,成绩应该都为整数,输入之前要有提示信息。

②若输入的成绩不是百分制成绩,则给出错误提示信息,并且不再进行下面的等级评价;若输入的成绩是百分制成绩,则计算总分,并根据要求评价等级。

③按下面形式输出结果:

总分----〉等级

如:186----〉A

把正确的程序源代码写在下面。

程序代码:

#include

#include

int main()

{

int score,total=0;

int i;

for(i=0;i<2;)

{

printf("\n请输入学生第%d门课的成绩(注意: 成绩应该为百分制的整数)\n",i+1); scanf("%d",&score);

if(score>=0&&score<=100)

{

total+=score;

i++;

}

else

{

printf("输入错误,请重新输入!\n");

continue;

}

}

printf("\n总分 ----〉等级\n");

switch(total/10)

{

case 20:

case 19:

case 18:

printf("%4d ----〉A\n",total);

break;

case 17:

case 16:

printf("%4d ----〉B\n",total);

break;

case 15:

case 14:

printf("%4d ----〉C\n",total);

break;

case 13:

case 12:

printf("%4d ----〉D\n",total);

break;

default:

printf("%4d ----〉E\n",total);

break;

}

getch();

return 1;

}

}

设计多组测试数据对程序进行测试,并观察运行结果。将程序的运行情况写在下面。『运行结果:』

3、【选作】

给一个不多于5位的正整数,要求:

①求出它是几位数;

②分别打印出每一位数字;

③按逆序打印出各位数字,例如原数为321,应输出123。程序代码:

#include

#include

int main()

{

where:

printf("请输入一个不多于5位的正整数:");

int len;

char num[6];

scanf("%s",num);

len=strlen(num);

putchar('\n');

if(len>5)

{

printf("这个数多于5位,请重新输入:");

goto where;

}

else

printf("这个数是 %d 位数. \n",len);

putchar('\n');

int g;

for(g=0;g

printf("第 %d 数为 %d\n",g+1,num[g]-48);

putchar('\n');

printf("逆序输出为:\n");

for(g=len-1;g>=0;g--)

printf("%d ",num[g]-48);

getchar();

getchar();

return 0;

}

『运行结果:』

三、实验心得

相关主题
相关文档
最新文档