用c语言实现,将最大数与第一个元素交换,最小数和第一个元素交换
时间: 2024-05-13 09:19:47 浏览: 88
用c语言实现最大最小值
假设我们已经有一个包含 n 个元素的整型数组 arr。
首先,我们需要找到最大值和最小值的索引。可以这样实现:
```c
int max_index = 0;
int min_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
```
接下来,我们可以将最大值与第一个元素交换:
```c
int temp = arr[0];
arr[0] = arr[max_index];
arr[max_index] = temp;
```
然后,将最小值与第一个元素交换:
```c
temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
```
完整代码如下:
```c
#include <stdio.h>
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int max_index = 0;
int min_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
int temp = arr[0];
arr[0] = arr[max_index];
arr[max_index] = temp;
temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文