C语言上机实验5-12

2018-12-05 21:13

17.5 实验5 循环结构程序设计

1.实验目的

(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。

(2)掌握在程序设计中循环的方法实现一些常用的算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。

2. 实验内容

编程并上机调试运行

(1) 输入一行字符、分别统计出其中的英文字母、空格、数字和其他字符的个数(本题是教材第5章第4题)

在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。

(2) 输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33(本题是教材第五章第8题)。 (3) 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃,只剩一个桃子了。求第一天共摘了多少桃子(本题是教材第五章第12题)。

再得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。

(4) 用牛顿迭代法求方程2X3=4x2+3x-6=0在1.5附近的根(本题是教材第五章第13题,学过高等数学的读者可选做此题)。 再得到正确结果后,请修改程序所设的X初始值由1.5改为100,1000,1000,再运行,观察结果,分析不同的x初值对结果有什么影响,为什么?

修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。

3.预习内容

预习教材第5章。

17.6 实验6 数组

1. 实验目的

(1) 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 (2)掌握字符数组和字符串函数的使用。

(3)掌握与数组有关的算法(特别是排序算法)。

2.实验内容

编程序并上机调试运行。

(1) 用选择法对10个整数排序。10个整数用scanf函数输入(本题是教材第6章第2题)。 (2) 已有一个已排好序的数组,求输入一个数后,按原来排序的规律将它插入数组中(本题是教材第6章第4题)。 (3) 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数(本题是教材第6章第10题)。

(4) 找出一个二维数组的“鞍点”,及该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点(本题是教材第6章第8题)。

应当至少准备两组测试数据;

1二维数组有鞍点,例如; ○

9 80 205 40

90 -60 96 1 210 -3 101 89

2二维数组没有鞍点 ○

9 80 205 40 90 -60 196 1

210 -3 101 89 45 54 156 7

用scanf函数从键盘输入各数组各元素的值,检查结果是否正确。题目并未指定二维数组的行数和列数,程序应处理任意行数和列数的数组。因此,从理论上来说,应当准备许多种不同函数和列数的数组数据,但这样的工作量太大,一般来说不需要这样做,只需准备典型的数据即可。

如果已制定了数组的行数和列数,可以在程序中对数组元素赋初值,而不用scanf函数。请读者修改程序以实现之。

3. 预习内容

预习教材第6章。

17.7 实验7 函数(一)

1.实验目的

(1)熟悉定义函数的方法。

(2)熟悉声明函数的方法。

(3)熟悉调用函数时实参与形参的对应关系,以及“值传递”的方式。 (4)学习对多文件的程序的编译和运行。

2.实验内容

编程序并伤及调试运行之。

(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息(本题是第七章第三题)。

本程序应当准备以下测试数据:17,34,2,1,0。分别运行并检查结果是否正确。要求所编写的程序,主函数的位置在其它函数之前,在主函数中对其所调用的函数做声明。运行以下工作:

a) 输入自己编写的程序,编译和运行程序,分析结果。

b) 将主函数的函数声明删掉,再进行编译。分析编译结果。

c) 把主函数的位置改为其他函数之后,在主函数中不含函数声明。

d) 保留判别素数的函数,修改主函数,要求实现输出100 到200之间的素数。 (2)写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出(本题是第7章第七题)。

1)输入程序,编译和运行程序,分析结果。

2)分析函数声明中参数的写法。先后用以下两种形式。

(a)函数声明中参数的写法与定义函数时的形式完全相同,如:

void cpy(char s[ ],char c[ ]);

(b)函数声明中参数的写法与定义函数时的形式基本相同,但省略写数组名。如: void cpy(char[ ],cha[ ]); 分别编译和运行,分析结果。

思考形参数组为什么可以不指定数组大小。 (c)如果随便制定数组大小行不行,如:

Void cpy(char s[ 40],char c[ 40]);

请分别上机试一下。

(3)输入10个学生5门课的成绩,分别用函数实现下列功能; 1)计算每个分数平均分; 2)计算每门课的平均分

3)找出所有50个分数中最高的分数所对应的学生和课程(本题是第7章第14题) (4)用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数(本题是第7章第10题)。

1)把两个函数放在同一个程序文件中,作为一个文件进行编译和运行。

2)把两个函数分别房子两个程序文件中,作为两个文件进行编译、连接和运行。

3.预习内容

(1)教材第七章。

(2)本书第三部分中有关对多文件程序进行编译和连接方法。

17.8 实验8 函数(二)

1.实验目的

(1)进一步熟悉怎样利用函数实现制定的任务。 (2)熟悉函数的嵌套调用和递归的调用的方法。 (3)熟悉全局变量和局部变量的概念和用法。

2. 实验内容

(1) 写一个函数,用起泡法对输入的10个字符按由小到大顺序排列(本题是第七章第11题)。

1)输入程序,进行编译和运行,分析结果。

2)将要排序的字符串改为5个,按由从小到大的顺序排列。 (2) 用递归法将一个整数位n转换成字符串。例如,输入483,应输出字符串“483”。N的位数不确定,可以使任意的整数(本题是第七章第17题) 1)输入程序,进行编译和运行,分析结果。

2)分析递归调用的形式和特点。

3)思考如果不用递归法,能否改用其他方法解决此问题,上级试一下。 (3)

编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和

其他字符的个数,在主函数中输入字符串以及输出上述的结果。

1)在程序中用全局变量。编译和运行程序。分析结果。分析结果,讨论为什么要用全局变量。

2)能否不用更全局变量,修改程序并运行之。

(4) 求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。

1)不用全局变量,分别用两个函数求最大公约数和最小公倍数,两个整数在函数中输入,并传送给函数hcf,求出最大的公约数返回主函数,然后再与两个整数一起作为实参传递函数lcd,求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。

2)用全局变量的方法。用两个全局变量分别代表最大公约数和最小公倍数。用两个函数分别求出最大公约数和最小公倍数,但其数值不由函数带回,而是赋给全局变量。在主函数中输出他们的数值。

分别用以上两种方法编程并运行,分析对比。

3.预习内容

教材第七章

17.9 实验9 指针(一)

1.实验目的

(1)掌握指针和间接访问的概念,会定义和使用指针变量。 (2)能正确使用数组的指针和指向数组的指针变量。 (3)能正确使用字符串的指针和指向字符串的指针变量。

2.实验内容

编程序并上机调试运行以下程序(都要求用指针处理)。

(1)输入3个整数,按由小到大的顺序输出,然后将程序改为:输入3个字符串,按由小

到大的顺序输出(本题是第八章第1-2题)。

1 先编写一个程序,以处理输入3个整数,按由小到大的顺序输出。运行此程序,分析结○果。

2 把程序改为能处理输入3个字符串,按由小到大的顺序输出。运行此程序,分析结果。 ○

3 比较以上两个程序,分析处理整数与处理字符串有什么不同?例如: ○

(a)怎样得到指向整数(或字符串)的指针。 (b)怎么比较两个整数(或字符串)的大小。 (c)怎样交换两个整数(或字符串)。

(2)将一个3×3的整型二维数组转置,用一函数实现之(本题是第8章第9题)。 在主函数中用scanf函数输入以下数组元素: 1 3 5 7 9 11 13 15 19

将数组0行0列元素的地址作为函数实参,再执行函数的过程中实现行列交换,函数调用结束后在主函数中输出已转置的二维数组。 请思考:

1 二维数组的指针,某一行的指针、某一元素的指针各代表什么含义?应该怎样表示? ○

2 怎样表示低i行j列元素及其地址。 ○

(3) 将n个数按输入时的顺序的逆序排列,用函数实现(本题是教材第8章第14题)。

1 在调用函数时用数组名作为函数实参。 ○

2 函数实参改为用指向数组元素首元素的指针,形参不变。 ○

3分析以上二者的异同。 ○

(4)写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度(本题是教材第8章第6题)。


C语言上机实验5-12.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:xx卫生院2011年秋季儿童入托入学查验预防接种证工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: