C程序设计实验指导书 - 2014版

实验四 循环结构程序设计

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 void main() { int n; scanf(―%d‖,&n); int a[n]; ?? } (2)

#include #define M 10 void main() { int a[M]; ?? } (3)

#include void main() {

int a[2 + 2*4]; ?? } (4)

#include #define M 2 #define N 8 void main()

29

实验五 数组

{ int a[M + N]; ?? }

通过这一实验,可以说明什么问题?

【例2】运行下面的C程序,根据运行结果,可以说明什么? #include void main( ) { int num[5] = {1,2,3,4,5}; int i;

for(i = 0;i <= 5;i ++) printf(―%d‖,num[i]); }

【例3】青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,下面的程序求这位选手的平均得分(去掉一个最高分和一个最低分)。分析并运行该程序,然后画出程序流程图。 分析:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分这里用选择法排序来实现。 选择法排序:首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它和第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。

30

联系客服:779662525#qq.com(#替换为@)