题目描述
输入10个整数,将其中最小的数与第一个数交换,把其中最大的数与最后一个数交换。
把交换后的数分行输出,每个数占一行。
用函数和指针实现。
输入
以空格分隔的10个整数。
输出
分行输出10个整数,每个数占一行。
样例输入 Copy
1 2 9 4 5 6 7 8 0 3
样例输出 Copy
0 2 3 4 5 6 7 8 1 9
#include<stdio.h>
int sort(int a[]);
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
int *p;
p=a;
sort(p);
return 0;
}
int sort(int a[])
{
int max=*a;
int min=max;
int m,n;
for(int i=0;i<10;i++)
{
if(max<*(a+i))
{
max=*(a+i);
m=i;
}
if(min>*(a+i))
{
min=*(a+i);
n=i;
}
}
*(a+n)=*a;
*a=min;
*(a+m)=*(a+9);
*(a+9)=max;
for(int i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
}