题目描述
将n个数按输入时顺序的逆序排列,用函数实现,使用数组指针作为参数,并在主函数输出反转后的数据
函数格式:void reverse(int* p, int n)
输入样例
5
1 2 3 4 5
输出格式
5 4 3 2 1
代码示例
//#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
void reverse(int*,int);
int i, n, *p;
printf("需要输入多少个数字?\n");
scanf("%d", &n);
int* num = (int*)malloc(sizeof(int)*n);
for (i = 0; i < n; i++)
scanf("%d", num + i);
reverse(num, n);
printf("倒序后:\n");
for (i = 0; i < n; i++)
printf("%2d ", *(num + i));
return 0;
}
void reverse(int* p, int n)
{
int i, t;
for (i = 0; i < n / 2; i++)
{
t = *(p + i);
*(p + i) = *(p + n - 1 - i);
*(p + n - 1 - i) = t;
}
}