//输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
#include<stdio.h>
int main()
{
int arr[] = { 304,212,817,529,601 };
int max=arr[0], min=arr[0];
int row1 = 0, row2 = 0;
int i = 0;
for (i = 1; i < 5; i++)
{
if (max < arr[i])
{
max = arr[i];
row1 = i;
}
if (min > arr[i])
{
min = arr[i];
row2 = i;
}
}
int temp;
temp = arr[0];
arr[0] = max;
arr[row1] = temp;
for (int i = 0; i < 5; i++)
printf("%5d", arr[i]);
puts("\n");
if (row2 == 0) //如果最小元素出现在0个元素,则已经被换到最后去了,所以考虑特殊情况
{
temp = arr[4];
arr[4] = arr[row1];
arr[row1] = temp;
}
else
{
temp = arr[4];
arr[4] = arr[row2];
arr[row2] = temp;
}
for (int i = 0; i < 5; i++)
printf("%5d", arr[i]);
}
C语言数组最大数和最小数与元素交换
最新推荐文章于 2023-01-29 11:03:08 发布
该博客展示了一个C程序,它接收一个输入数组,找到数组中的最大值和最小值,然后将最大值与数组的第一个元素交换,最小值与最后一个元素交换。程序首先初始化最大值和最小值为数组的第一个元素,然后遍历数组以更新这两个值。最后,通过两次交换操作,实现了目标的数组排列。
摘要由CSDN通过智能技术生成