首页 理论教育 C语言程序设计:N个整数逆序排列输出

C语言程序设计:N个整数逆序排列输出

时间:2023-11-17 理论教育 版权反馈
【摘要】:任务目标 掌握地址、指针与指针变量的概念。掌握指针变量作为函数参数时的传递内容和过程。任务描述首先从键盘输入N 个数据,输入数据之后,直接在屏幕上显示出逆序之后的数据。任务分析首先设置一个长度合适的数组a[N]来存放这N 个数据,解题的思路就转换成数组元素的逆序存放。

C语言程序设计:N个整数逆序排列输出

任务目标

➢ 掌握地址指针与指针变量的概念。

➢ 理解变量、数组指针的概念。

➢ 掌握指向变量、一维数组的指针变量的定义与引用方法。

➢ 了解多级指针的概念。

➢ 掌握指针变量作为函数参数时的传递内容和过程。

任务描述(www.xing528.com)

首先从键盘输入N 个数据,输入数据之后,直接在屏幕上显示出逆序之后的数据。例如,从键盘输入“1 2 3 4 5 6 7 8 9 10”,则逆序后的数据序列为“10 9 8 7 6 5 4 3 2 1”。

任务分析

首先设置一个长度合适的数组a[N]来存放这N 个数据,解题的思路就转换成数组元素的逆序存放。数组元素的逆序算法比较简单,其核心思路为:先将第一个元素和最后一个元素交换(也即a[0]和a[N-1]),再交换第二个元素和倒数第二个元素,然后再交换第三个元素和倒数第三个元素……依此类推,直到交换到最中间的两个元素。

具体的做法有很多种,本任务采用的第一种做法是设置两个下标i 和j,分别对应数组的第一个元素和最后一个元素,只要i<j,就交换a[i]和a[j],然后修改下标,使i 加1、j 减1,使它们分别对应数组的第二个元素和倒数第二个元素,后面的操作依此类推,直到i 等于j或大于j 为止。

本任务采用的第二种做法是设置两个指针变量p 和q,分别指向数组的第一个元素和最后一个元素,只要p<q,就交换*p 和*q,然后修改p 和q,使p + + 和q--,使它们分别指向数组的第二个元素和倒数第二个元素,后面的操作依此类推,直到p 等于q 或大于q 为止。

相关知识

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

我要反馈