c语言 将自然数 1 至 100 保存在一维数组中并将其输出,再将第1个数与最后1个数交换位置、将第2个数与倒数第2数交换位置……以此类推最后将第50个数与第51数交换位置,然后将数组中的数按数组下标正序输出
时间: 2024-02-16 17:04:51 浏览: 46
c语言数组练习
好的,这是一个比较基础的 C 语言题目,答案如下:
```c
#include <stdio.h>
#define N 100
int main() {
int a[N];
int i, temp;
for (i = 0; i < N; i++) {
a[i] = i + 1;
}
for (i = 0; i < N / 2; i++) {
temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = temp;
}
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
for (i = 0; i < N / 2; i += 2) {
temp = a[i];
a[i] = a[N - 1 - i - 1];
a[N - 1 - i - 1] = temp;
}
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这段代码首先定义了一个长度为 100 的整型数组 `a`,并将自然数 1 至 100 存储到数组中。然后通过一个 for 循环,将数组中的元素逆序排列,即将第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,以此类推,直到数组中间位置。
接着再次通过一个 for 循环,将数组中相邻的两个元素交换位置,即将第一个元素和第二个元素交换,第三个元素和第四个元素交换,以此类推,直到数组末尾。最后再通过一个 for 循环,按照数组下标正序输出数组中的元素。
阅读全文