C语言程序设计实验实验指导书及答案 下载本文

实验五 数组

班级

学号

姓名

成绩

项目1. 冒泡排序法 【项目说明】

输入10个数,用“冒泡法”对10个数排序(由小到大)。冒泡法的基本思想:通过相邻两个数之间的比较和交换,使(数值)较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部。就像水底的气泡一样逐渐向上冒,故而得名。 【项目目的】

(1)掌握冒泡排序算法的编程。 (2)掌握与数组有关的算法。 程序代码:

运行结果:

项目2. 字符统计 【项目说明】

有一篇文章,共有3行文字,每行80个字符。要求分别统计出其中英文字母和数字的个数。 【项目目的】

(1)掌握键盘输入字符串方法。 (2)掌握二维数组的处理方法。 【技术要点】

(1)3行文字可定义一个二维字符数组来表示。 (2)使用gets( ) 函数对字符串进行输入。

程序代码:

#include int main()

{int i,j,upp,low,dig,spa,oth; char text[3][80];

upp=low=dig=spa=oth=0; for (i=0;i<3;i++)

{ printf(\ gets(text[i]);

for (j=0;j<80 && text[i][j]!='\\0';j++) {if (text[i][j]>='A'&& text[i][j]<='Z')

upp++;

else if (text[i][j]>='a' && text[i][j]<='z') low++;

else if (text[i][j]>='0' && text[i][j]<='9') dig++;

else if (text[i][j]==' ')

else }

printf(\ printf(\ printf(\ : %d\\n\ printf(\ : %d\\n\ printf(\ : %d\\n\ return 0; }

oth++; }

spa++;

运行结果:

项目3.(选做)

在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的

一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来。 (程序代码和运行结果可写在指导书背面)

实验六 函数

班级

学号

姓名

成绩

项目1:使用函数实现对二维数组转置。 【项目说明】

写一个函数,使给定的3*3的二维整型数组转置,即行列互换。要求输出转换之前和转换之后的结果。

【项目目的】

(1)掌握函数的定义和调用。

(2)掌握二维数组名作为函数的参数的使用技巧。 【技术要点】

(1)使用二重循环对二维数组进行输入,处理和输出;

(2)二维数组名作为函数的参数,定义函数需要给出第二维的大小。 程序代码:

运行结果:

项目2:使用函数实现成绩处理 【项目说明】

输入3个学生4门课的成绩,分别用函数实现以下功能:(1)计算每个学生的平均分。(2)计算每门课的平均分。(3)找出12个分数中最高分数所对应的学生和课程。 【项目目的】

(1)掌握函数的定义和调用。 (2)掌握全局变量的使用。