实验四 循环结构程序设计
2.请你编写一个交互式程序,请求用户从键盘上输入3个整数k,m,n(k>1)。程序要计算出在m和n之间的所有能被k整除的整数之和。
3.班上有学生n名,从键盘上输入每名学生的年龄(整数),求班上所有学生的平均年龄,并保留到小数点后两位数字。
27
实验四 循环结构程序设计
选做题
1.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。(习题6.2)
【思考】你能否修改程序使之能分别统计大小写字母、空格、数字和其它字符的个数? 2.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩一个桃子了。请编程求第一天共摘了多少桃子。(习题6.10)
【思考】如果题目改为猴子每天吃了前一天剩下的一半后,再吃两个,那么程序该如何修改?
3.设计报选体育科目统计程序
设某学校在新生入学时,需报选体育选修科目。体育科目包括:篮球、排球、体操、兵乓球和网球。请为某班级(30人)统计报选各体育科目人数。
好的编程习惯
1.循环、分支层次最好不要超过5层。 2.一目了然的语句不要加注释。
3.注释可以与语句在同一行,也可以在上一行。
知识点描述及编程体会
实验成绩 签名
年 月 日
28
实验五 数组
实验五 数组(4学时)
目的要求
(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法; (2)掌握字符数组和字符串函数的使用;
(3)掌握与数组有关的算法(特别是排序算法)。
上机内容
一般示例
【例1】编写程序,测试下列数组的定义方式是否正确。如果不正确,请将改正后的内容写在右侧空白处。 (1)
#include
#include
#include
int a[2 + 2*4]; ?? } (4)
#include
29
实验五 数组
{ int a[M + N]; ?? }
通过这一实验,可以说明什么问题?
【例2】运行下面的C程序,根据运行结果,可以说明什么? #include
for(i = 0;i <= 5;i ++) printf(―%d‖,num[i]); }
【例3】青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,下面的程序求这位选手的平均得分(去掉一个最高分和一个最低分)。分析并运行该程序,然后画出程序流程图。 分析:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分这里用选择法排序来实现。 选择法排序:首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它和第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。
30