C上机实验指导书——软件学院·软件工程教研室[2011版]
实验7 数组(一)
一、实验目的
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法 2.掌握字符数组和字符串函数的使用 3.掌握与数组相关的算法(排序算法)
二、实验内容及步骤
1. 编写程序,对n个数从小到大排序。
任选一种排序方法进行编程。
2.编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。
(1)对成绩按从高到低排序,并按排序后的顺序输出所有学生的成绩, (2)再输入一个学生的成绩,并插入排序后的成绩表中并保持有序,最后再输出所有学生的成绩
(3)再输入一个成绩,并从数组中删除与该数相同的所有同学成绩,最后输出最终的成绩表
9
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验8 数组(二)
一、实验目的
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法 2.掌握字符数组和字符串函数的使用 3.掌握与数组相关的算法(排序算法)
二、实验内容及步骤
1. 找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。
(1) 画出此题的流程图。
(2) 编写程序求矩阵中所有的鞍点并上机调试。 (3) 输入的数据和输出的结果要详细记录。
2.统计一个班的学生成绩。要求程序具有如下功能: (1) 每个学生的学号和四门功课的成绩从键盘读入。 (2) 计算每个学生的总分和平均分。
(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。
提示: 调试程序时,可先输入少量学生的成绩作为实验数据。如可输入3名学生4门课成绩: 学号 成绩
9701 67,72,65,80 9702 75,82,94,95 9703 70,74,80,76
10
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验9 函数(一)
一、实验目的
1.理解和掌握多模块的程序设计与调试的方法 2.掌握函数的定义和声明函数的方法
3.熟悉调用函数时实参和形参的对应关系,以及“值传递”的方式
二、实验内容及步骤
1. 用函数实现两个整数交换,设计一个函数swap,实现两个整数的交换。
要求:在主函数中定义两个整型变量并初始化,然后调用swap函数对两变量的值进行真正交换,最后输出交换后的两变量的值(分析用值传递和地址传递两种方式的结果,体会引用的作用)。
2.在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二、
八、十六进制数。
2. 定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则
判断它是否是直角三角形。 1) 声明函数judge;
2) 实现函数judge,根据输入的三个边长判断是否可以构成一个三角形;
3) 在main中调用judge;
4) 在main中根据judge的返回值判断是否是三角形,如果构成三角形则判断是否为直角三角形,并给出结论。
11
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验10 函数(二)
一、实验目的
1.进一步理解和掌握多模块的程序设计与调试的方法 2.熟悉函数的嵌套调用和递归调用的方法 3.练习并掌握数组作为函数参数的用法
二、实验内容及步骤
1. 编写程序,对n个数从小到大排序。 (1) 任选一种排序方法进行编程。 (2) 用sort()函数进行排序。
(3) 在主函数中输入数据,调用sort()函数,分别打印出排序前和排序后的结果。
2.两数组对应元素的交换,设计一函数swap,实现对应元素的交换。 要求:在主函数中定义两个长度相同的整型数组A和B并初始化,然后调用
swap函数把两数组的对应元素值进行交换,最后输出交换后的这两个数组的内容。
3.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
12
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验11 指针(一)
一、实验目的
1.理解指针和地址的概念,了解指针变量类型的含义
2.掌握指针变量的初始化、赋值、运算和移动操作,以及通过指针引用变
量的方法
3.掌握取变量的地址、数组元素的地址以及字符串地址的方法
4.理解数组名与地址值的关第。掌握通过指针或地址引用数组元素的方法 5.能正确使用字符串的指针和指向字符串的指针变量
二、实验内容及步骤
1.编写程序:定义一个变量,一个指针,建立该变量的引用。对变量进行
初始化,并将指针指向该变量,分别通过指针和引用改变该变量的值,并输出结果进行比较分析。
2.编写程序:任意输入10个整数放于数组中,利用指针访问数组,求出该
数组中的最大数max以及最小数min。
3.编写程序:定义字符串,删掉字符串中的数字字符。
13