题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
代码如下:
#include <stdio.h>
void Import(int arr[])
{
int i;
for(i = 0; i < 10; ++i)
{
scanf("%d",&arr[i]);
}
}
void Show(int arr[])
{
int i;
for(i = 0; i < 10; ++i)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void Deal(int *arr)
{
int i, k1 = 0, k2 = 0;
int max = arr[0];
int min = arr[0];
for(i = 0; i < 10; ++i)
{
if(min > arr[i])
{
min = arr[i];
k1 = i;
}
if(max < arr[i])
{
max = arr[i];
k2 = i;
}
}
if(k1 == 9 && k2 == 0)
{
arr[0] = min;
arr[9] = max;
}
else if(k1 == 0 && k2 == 9)
{
return;
}
else if(k2 == 0)
{
arr[0] = min;
arr[k1] = arr[9];
arr[9] = max;
}
else if(k1 == 9)
{
arr[9] = max;
arr[k2] = arr[0];
arr[0] = min;
}
else
{
arr[k1] = arr[0];
arr[k2] = arr[9];
arr[0] = min;
arr[9] = max;
}
}
int main()
{
int a[10] = {0};
Import(a);
Deal(a);
Show(a);
return 0;
}