#include <stdio.h>
//-----------------------数组(指针实现)实现---------------------------
// 交换最大、最小值位置
void swap_sm(int *src, int len)
{
int max = src[0];
int min = src[0];// 初始化最大、最小值暂时为第一个
int maxindex = 0;
int minindex = 0;
for (int i = 1; i < len; ++i)
{
if (max < src[i]) // 元素如果比最大数大的,则重置最大值,及其索引
{
max = src[i];
maxindex = i;
}
else if (min > src[i])// 元素如果比最小数小的,则重置最小值,及其索引
{
min = src[i];
minindex = i;
}
}
if (maxindex == minindex) // 如果所有值一样,不用交换
return;
int tem = src[maxindex]; // 交换最大、最小值
src[maxindex] = src[minindex];
src[minindex] = tem;
}
int main()
{
int a[10];
printf("intput 10 number : "); // 输入10个整数
for (int i = 0; i < 10; i++)
scanf("%d", &a[i]);
swap_sm(a, 10);
for (int i = 0; i < 10; i++) // 输出交换结果
printf("%d ", a[i]);
return 0;
}
最大数与最小数调换位置
最新推荐文章于 2023-03-31 10:58:47 发布