使用C语言编写,将一个有5个元素的数组中的值(整数)按逆序重新存放
时间: 2024-03-17 12:45:28 浏览: 102
可以使用以下代码将一个有5个元素的数组中的值按逆序重新存放:
```c
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int temp, i;
printf("Original array: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
for (i = 0; i < 5 / 2; i++) {
temp = arr[i];
arr[i] = arr[4 - i];
arr[4 - i] = temp;
}
printf("\nReversed array: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
以上代码中,我们首先定义了一个有5个元素的整型数组,并将其初始化为1、2、3、4、5。然后我们使用for循环遍历数组,将数组中的元素按逆序重新存放。具体地,我们定义了一个变量temp来临时存储数组中的一个元素,然后交换arr[i]和arr[4-i]的值。最后,我们再次使用for循环输出数组中的元素,验证结果是否正确。
相关问题
编写一个程序,将一个数组中的值按逆序重新存放。用C语言实现
以下是将数组按逆序重新存放的C语言程序:
```c
#include <stdio.h>
void reverseArray(int arr[], int size) {
int temp;
for (int i = 0; i < size / 2; i++) {
temp = arr[i];
arr[i] = arr[size - 1 - i];
arr[size - 1 - i] = temp;
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
printf("Original array: ");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, 5);
printf("\nReversed array: ");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的程序中,我们定义了一个函数`reverseArray`,它接受一个数组和它的大小作为参数,并将数组按逆序重新排列。接着,在`main`函数中,我们创建了一个长度为5的整数数组,并打印出原始数组中的值。然后,我们调用`reverseArray`函数来逆转数组,并再次打印出逆转后的数组。
C语言解决输入一个正整数n(1<n<=10),再输入n个整数,编写程序将一维数组中的数按逆序重新存放并输出,程序中不使用辅助数组。
可以借助中间变量实现交换数组元素的逆序操作,具体实现如下:
```c
#include <stdio.h>
int main() {
int n, i, temp;
printf("请输入正整数n(1<n<=10):");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n/2; i++) {
temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = temp;
}
printf("逆序后的数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
程序首先读入正整数n和n个整数,然后通过循环将数组中的元素逆序交换,最后输出逆序后的数组。需要注意的是,循环次数应该只执行数组长度的一半,否则会导致数组交换的重复。
阅读全文