编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ① 输入10个数。 ② 调用此函数进行重排。 ③ 输出重排后的结果。
时间: 2024-03-06 17:49:22 浏览: 22
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
5星 · 资源好评率100%
好的,下面是实现代码:
```c
#include <stdio.h>
void reverse(int *arr, int n) {
int i, j;
for (i = 0, j = n - 1; i < j; i++, j--) {
int temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
int main() {
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
reverse(arr, 10);
printf("逆序排列后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
函数 `void reverse(int *arr, int n)` 接收一个指向整型数组的指针 `arr` 和数组的长度 `n`,使用双指针遍历数组并将元素逆序交换。主函数中先输入 10 个数并存入数组中,然后调用 `reverse` 函数对数组进行逆序排列,最后输出结果。
阅读全文