题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;
①输入10个数;②进行处理;③输出10个数。
输入10个整数
输出整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
思路
- 第二个函数:初始化最小值min为数组的第一个元素,遍历数组元素,当数组中有元素比min小时,更新min为那个更小值,并记录这个值所在的位置,当数组遍历完毕时,将最小值与第一个元素进行交换
注意事项
第二个函数只能进行一次交换,即最小值与数组第一个元素的交换。
代码
#include<stdio.h>
void input(int a[]);
void handle(int a[]);
void output(int a[]);
int main()
{
int a[10];
input(a);
handle(a);
output(a);
return 0;
}
void input(int a[])
{
int i;
for(i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
}
void handle(int a[])
{
int i, t, min, max;
min = a[0];
t = 0;
for(i = 1; i < 10; i++)
{
if(a[i] < min)
{
min = a[i];
t = i;
}
}
a[t] = a[0];
a[0] = min;
max = a[9];
t = 9;
for(i = 0; i < 9; i++)
{
if(a[i] > max)
{
max = a[i];
t = i;
}
}
a[t] = a[9];
a[9] = max;
}
void output(int a[])
{
int i;
for(i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
}