用C语言将数组的第一个元素放到最后一个位置,将第2个元素放到倒数第2个位置,直到最后一个元素到第1个位置。要求在main函数中输入数组元素的指值,利用原数组空间,调用fun实现逆置,然后在main函数中输出。
时间: 2024-02-18 07:06:02 浏览: 85
将数组逆序排列,C语言实现。
好的,这是一个经典的数组逆置问题,以下是代码实现:
```c
#include <stdio.h>
void fun(int *a, int n) {
int i, temp;
for (i = 0; i < n / 2; i++) {
temp = *(a + i);
*(a + i) = *(a + n - i - 1);
*(a + n - i - 1) = temp;
}
}
int main() {
int i, n, a[100];
printf("请输入数组元素个数n:");
scanf("%d", &n);
printf("请输入数组元素的值:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
fun(a, n);
printf("逆序后的数组元素为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这个程序中的 `fun` 函数用来实现逆置操作,首先用 `temp` 保存第 `i` 个元素的值,然后将最后一个元素的值赋给第 `i` 个元素,最后将 `temp` 的值赋给最后一个元素。在 `main` 函数中先输入数组元素个数和值,然后调用 `fun` 函数进行逆置操作,最后输出逆置后的数组元素。
阅读全文