首页 理论教育 一维数组应用举例-C语言程序设计教程

一维数组应用举例-C语言程序设计教程

时间:2023-10-27 理论教育 版权反馈
【摘要】:一维数组常用来处理数列或一组同类型的数据。图4-1程序运行结果从本例可以看出,一个数组往往包含多个数组元素,一维数组元素的输入与输出,一般通过一重循环来实现。例4-3一个有30个元素的整型数组,第一个元素值为10,以后每个元素值依次加2,并顺序输出各数组元素。要求,在操作时只能借助一个临时存储单元而不能另外开辟数组。

一维数组应用举例-C语言程序设计教程

一维数组常用来处理数列或一组同类型的数据。

例4-2 一个有5个元素的字符数组,通过键盘给每个元素赋值,并以相反的顺序输出。

参考程序:

程序运行时,若输入abcde,则屏幕显示的结果如图4-1所示。

图4-1 程序运行结果

从本例可以看出,一个数组往往包含多个数组元素,一维数组元素的输入与输出,一般通过一重循环来实现。

例4-3 一个有30个元素的整型数组,第一个元素值为10,以后每个元素值依次加2,并顺序输出各数组元素。

提示:该数组元素的值是有规律的序列,从第i(i的初始值为0)个元素的值为:10+2*i。输出该数组时,由于该数组有30个元素,在一行中输出不太美观,所以,这里我们选择每行输出6个元素。

参考程序:

程序运行结果如图4-2所示。

图4-2 程序运行结果

例4-4 编写程序,对数组输入若干个整型数,并利用选择法对数组中的数按从大到小进行排序。(www.xing528.com)

提示:选择法的基本思想是:用变量p来存放最大数所在的位置,若数组中有n个数,首先在p中存放0,认为a[0]中数最大。然后把a[p]跟后面的a[1]比较,若a[1]比a[p]大,则p=1;否则p不变。接着a[p]跟后面的a[2]比较,若a[2]比a[p]大,则p=2;否则p不变。接着a[p]跟后面的a[3]比、a[4]比……与最后一个元素比较。这时p中存放的是所有元素中最大元素所在的位置。把a[0]中的数与a[p]中的数交换。a[0]中存放最大元素,再从余下的n-1个数中找最大的数与a[1]交换,重复直到排序结束。

参考程序:

程序运行时,随意输入10个数的运行结果如图4-3所示。

图4-3 程序运行结果

例4-5 编写程序,将数组中的数按颠倒的顺序重新存放。要求,在操作时只能借助一个临时存储单元而不能另外开辟数组。

提示:题目要求是按颠倒的顺序重新存放数据,而不是按逆序输出。为了使程序简单起见,假定数组a有10个元素,依次存放的十个数是10、20、30、40、50、60、70、80、90、100,重新存放后,数组a的10个元素值依次为100、90、80、70、60、50、40、30、20、10。

可以使用两个变量i和j,它们的初值依次为0和9,将a[i]和a[j]对调,然后i++,j--,接着再将a[i]和a[j]对调。如此重复操作,直到i>=j时,对调完成。

参考程序:

程序运行结果如图4-4所示。

图4-4 程序运行结果

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

我要反馈