将数组中的数逆序存放。输入一个正整数n ( 1 < n < 10 ),再输入n个整数,存入数组a中,先将数组a中的这n个数逆序存放,再按顺序输出数组a中的n个元素。用C语言
时间: 2024-12-13 18:20:07 浏览: 21
在C语言中,你可以使用两个指针,一个指向数组的起始位置(end),另一个指向结束位置前一步(start)。然后通过交换这两个指针所指向的元素,逐步向中间移动,直到它们相遇或交叉。以下是简单的步骤:
```c
#include <stdio.h>
void reverse(int arr[], int n) {
int start = 0;
int end = n - 1; // 数组最后一个元素的索引
// 遍历数组直到开始位置超过或等于结束位置
while (start < end) {
// 交换arr[start] 和 arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
int n;
printf("请输入一个正整数n(1 < n < 10): ");
scanf("%d", &n);
if (n < 2 || n > 10) {
printf("错误:n的值应在1到10之间。\n");
return 1;
}
int arr[n];
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
reverse(arr, n); // 逆序数组
printf("逆序后的数组是:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文