在C语言中如何将一个数组中的值按逆序重新存放。例如,原来顺序为8.6.5.4.1,要求改了之后是1.4.5.6.8
时间: 2024-12-14 13:14:21 浏览: 22
在C语言中,你可以通过遍历数组并将每个元素与它前面的元素交换位置来实现数组的逆序操作。这里有一个简单的步骤:
1. 定义一个临时变量temp,用于存储当前元素。
2. 使用两层for循环,外层从数组的开始到倒数第二个元素(i),内层从i+1到数组的结束(j)。
3. 在内层循环中,将数组的第i个元素(arr[i])与第j个元素(arr[j])互换,即 `temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;`。
4. 当两层循环结束后,数组就被逆序排列了。
以下是伪代码示例:
```c
#include <stdio.h>
void reverseArray(float arr[], int size) {
float temp;
for (int i = 0; i < size / 2; i++) {
temp = arr[i];
arr[i] = arr[size - i - 1]; // 交换 arr[i] 和 arr[size-i-1]
arr[size - i - 1] = temp;
}
}
// 示例
int main() {
float numbers[] = {8, 6, 5, 4, 1};
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%.1f ", numbers[i]);
}
reverseArray(numbers, size);
printf("\nReversed array: ");
for (int i = 0; i < size; i++) {
printf("%.1f ", numbers[i]);
}
return 0;
}
```
运行这段代码后,数组就会变成1.4.5.6.8。
阅读全文