题目
本题是谭浩强《C程序设计课后习题》题8.14。
题目:
将n个数按输入时顺序的逆序排列, 用函数实现。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
采用指针对整形数组首部和尾部逐个交换的算法,循环条件为star<end。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int i;
void reverse(int arry[], int n)
{
int* star = arry, * end = arry + n - 1;
while (star < end)
{
int tmp = *star;
*star = *end;
*end = tmp;
star++;
end--;
}
}
int main()
{
int n,arry[32];
printf("请输入要输入的数字个数:");
scanf("%d", &n);
printf("请输入%d个数:\n",n);
for (i = 0; i < n; i++)
scanf("%d", arry + i);
reverse(arry, n);
for (i = 0; i < n; i++)
printf("%d ", arry[i]);
return 0;
}
三、执行结果
输出:
请输入要输入的数字个数:5
请输入5个数:
1 2 3 4 5
5 4 3 2 1