题目描述
输入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>
int main()
{
int a[10];
void input_number(int *a);
void sort_number(int *a);
void output_number(int *a);
input_number(a);
sort_number(a);
output_number(a);
}
void input_number(int *a)
{
int *m;
for (m=a; m<a+10; scanf("%d", m++));
}
void sort_number(int *a)
{
int m1,m2;
int t1,t2,i;
for(i=0,t1=t2=*a,m1=m2=0;i<10;i++)
{
if(*(a+i)>t1)
{
t1=*(a+i);m1=i;
}
if(*(a+i)<t2)
{
t2=*(a+i);m2=i;
}
}
*(a+m1)=*(a+9);*(a+9)=t1;
*(a+m2)=*a;*a=t2;
}
void output_number(int *a)
{
int i;
for(i=0;i<10; printf("%d ",*(a+(i++))));
}