首页 理论教育 C语言数组综合实训任务

C语言数组综合实训任务

时间:2023-10-27 理论教育 版权反馈
【摘要】:提示与分析:①程序中用3行20列的二维字符数组str存放随机输入的3个字符串,用一维字符数组max存放其中的最大字符串。要求按原来排序的规律把它插入到数组中,请填空。至此,排序完成。

C语言数组综合实训任务

一、实训目的

1.熟记常用的字符串处理函数。

2.掌握数据的排序、插入等操作。

3.提高程序阅读能力,开阔视野。利用所学知识解决一些综合性较强、难度较大的问题,提高程序设计能力。

二、实训内容

1.下面程序的功能是对输入的三个字符串,从中找出最大者,请填空。

提示与分析:

①程序中用3行20列的二维字符数组str存放随机输入的3个字符串(列数由输入的3个字符串中的长度最大者确定),用一维字符数组max存放其中的最大字符串。

②字符串的输入使用gets()函数。

③使用函数strcmp()从3个字符串中找出最大字符串后,用函数strcpy()复制到数组max中。

2.下面程序的功能是有一个按递升顺序排列的数组,其中的数据为2,4,6,8,10,12,14,16,18,20。从键盘上输入一个数。要求按原来排序的规律把它插入到数组中,请填空。

提示与分析:

①程序中的数组a符合题意要求,用整型变量x标识从键盘随机输入的数,用整型变量i标识循环变量。

②从数组的末尾元素a[9]开始检查,凡是比x大的元素a[i]均向后移动一个位置,如果a[0]仍大于x,则将x插入到a[0]位置上。

③当首次遇到小于x的元素a[i]时,则将x插入到其后的位置上。

3.一个班级有若干名学生,输入一个学生的名字,查询该学生是否属于该班级,并输出相应的信息。请编写程序。(www.xing528.com)

提示与分析:

①用符号常量M、N分别标识某班级能容纳的学生人数和学生姓名的最大长度。

②用字符数组name[M][N]存储某班学生的姓名,用student[N]存储要查找学生的姓名。

③用整型常量num标识输入的实际学生人数,其初始值为0;在输入每个学生姓名时的循环变量为i;当输入的学生姓名为“***”时就中断输入。

④输入要查找的学生姓名,并通过字符串比较函数将待查找的学生姓名与二维数组中已经存在的学生姓名比较,并返回相应的结果。

4.用选择法编写程序,将下列数据按降序排列并输出。

提示与分析:

①将5个数12,256,15,-9.2,38分别存入数组元素a[0],a[1],a[2],a[3],a[4]。

②选择法降序排列数据的过程如下。

第1轮:从全部元素中选出最大的元素a[1],记下其下标m=1,然后将a[1]与a[0]交换,这样就把最大的元素排到了最前面。

第2轮:从余下的4个元素中选出最大的元素a[4],记下其下标m=4,并将a[4]与a[1]交换。这样,就把次最大的元素排在a[1]的位置。

第3轮:从余下的3个元素中选出最大的元素a[2],记下其下标m=2,这次不需要交换,第3最大的元素排在a[2]的位置。

第4轮:从余下的2个元素中选出最大的元素a[4],记下其下标m=4,然后将它与a[3]交换,于是,第4最大的元素排在a[3]的位置。

至此,排序完成。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈