C语言一组数将最大的数字与较小的数倒序
时间: 2024-02-23 11:03:34 浏览: 34
好的,以下是将一组数中最大的数字与较小的数倒序的 C 语言代码示例:
```c
#include <stdio.h>
void reverse(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[] = {10, 5, 20, 8, 15};
int n = sizeof(arr) / sizeof(arr[0]);
int max_index = 0, min_index = 0;
// 找到最大值和最小值的下标
for (int i = 0; i < n; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 如果最大值和最小值不在同一个位置,则交换它们
if (max_index != min_index) {
reverse(&arr[max_index], &arr[min_index]);
}
// 输出倒序后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序首先定义了一个包含 5 个元素的整型数组,然后计算数组的长度。
接下来,使用一个 for 循环找到数组中最大值和最小值的下标。这里使用了两个变量 max_index 和 min_index 分别记录最大值和最小值的下标。
然后,如果最大值和最小值不在同一个位置,就调用一个函数 reverse,将它们倒序。这里使用了指针来实现,将最大值和最小值的地址传递给函数,实现交换。
最后,再使用一个 for 循环输出倒序后的数组元素。
希望这个答案能够帮助到你!
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)