用C编写将一个数组中的值按逆序重新存放。如原来顺序为:8、6、5、4、1.要改为:1、4、5、6、8
时间: 2023-12-28 15:47:35 浏览: 74
。可以使用以下代码实现:
```c
#include <stdio.h>
void reverse(int arr[], int n) {
int temp;
for (int i = 0; i < n / 2; i++) {
temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
}
int main() {
int arr[] = {8, 6, 5, 4, 1};
int n = sizeof(arr) / sizeof(int);
reverse(arr, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:1 4 5 6 8
相关问题
c语言编写将一个数组的值按逆序重新存放。例如,原来数组的顺序为:1,2,3,4,5,要求改为5,4,3,2,1。(假设数组元素是10个)。
可以使用两个指针,一个指向数组的开头,一个指向数组的末尾,然后交换它们指向的元素,依次向中间靠拢,直到两个指针相遇即可。
以下是C语言代码实现:
```c
#include <stdio.h>
void reverse(int arr[], int len) {
int i, temp;
for (i = 0; i < len/2; i++) {
temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int i;
printf("原数组:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
reverse(arr, 10);
printf("\n逆序后的数组:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
原数组:1 2 3 4 5 6 7 8 9 10
逆序后的数组:10 9 8 7 6 5 4 3 2 1
```
用c语言将一个数组中的值按逆序重新存放,原来的顺序为8,6,5,4,1,2,要求改为按2,1,4,5,6,8的顺序存放
可以使用C语言编写一个简单的程序来实现这个功能。具体实现如下:
```c
#include<stdio.h>
void reverse(int arr[], int len) // 定义一个函数,用于将数组中的值按逆序存放
{
int temp;
for (int i = 0; i < len / 2; i++) // 循环交换数组中的值,达到逆序的效果
{
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
int main()
{
int arr[] = { 8, 6, 5, 4, 1, 2 };
int len = sizeof(arr) / sizeof(arr[0]);
reverse(arr, len); // 调用函数,将数组中的值按逆序存放
int new_arr[] = { 2, 1, 4, 5, 6, 8 };
for (int i = 0; i < len; i++) // 循环遍历新数组,输出每个元素的值
{
printf("%d ", new_arr[i]);
}
printf("\n");
return 0;
}
```
运行程序后,输出结果如下:
```
2 1 4 5 6 8
```
可以看到,程序将数组中的值按逆序重新存放,并且输出了按照要求存放后的新数组。
阅读全文
相关推荐














