交换最大值和最小值,C语言
时间: 2023-04-03 17:00:26 浏览: 170
可以通过以下代码实现:
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int max = arr[], min = arr[];
int max_index = , min_index = ;
// 找到最大值和最小值的下标
for (int i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
max_index = i;
}
if (arr[i] < min) {
min = arr[i];
min_index = i;
}
}
// 交换最大值和最小值
int temp = arr[max_index];
arr[max_index] = arr[min_index];
arr[min_index] = temp;
// 输出交换后的数组
for (int i = ; i < 10; i++) {
printf("%d ", arr[i]);
}
return ;
}
相关问题
c语言交换最大值和最小值
以下是一个C语言程序,用于输入一维数组的8个元素,并将最大值与最后一个数交换,最小值与第一个数交换,然后输出交换后的8个数:
```c
#include <stdio.h>
int main()
{
int a[8], max = 0, min = 0, temp = 0;
printf("请输入8个整数:\n");
for (int i = 0; i < 8; i++)
{
scanf("%d", &a[i]);
if (i == 0)
{
max = a[i];
min = a[i];
}
else
{
if (a[i] > max)
{
max = a[i]; }
if (a[i] < min)
{
min = a[i];
}
}
}
for (int i = 0; i < 8; i++)
{
if (a[i] == max)
{
temp = a[i];
a[i] = a[7];
a[7] = temp;
}
if (a[i] == min)
{
temp = a[i];
a[i] = a[0];
a[0] = temp;
}
}
printf("交换后的8个数为:\n");
for (int i = 0; i < 8; i++)
{
printf("%d ", a[i]);
}
return 0;
}
```
交换最小值和最大值c语言
下面是交换最小值和最大值的 C 代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10] = {3, 8, 1, 6, 2, 7, 9, 5, 4, 0};
int n = sizeof(arr) / sizeof(arr[0]);
int max_idx = 0, min_idx = 0;
// 寻找最大值和最小值的下标
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_idx]) {
max_idx = i;
} else if (arr[i] < arr[min_idx]) {
min_idx = i;
}
}
// 交换最大值和最小值
swap(&arr[max_idx], &arr[min_idx]);
// 输出结果
printf("交换后的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码中,我们使用了一个 `swap` 函数来交换两个数字。然后,我们在数组中寻找最大值和最小值的下标,最后调用 `swap` 函数交换这两个数字。