分析:
十个数存放在数组里,进行逐个比较找到最小的与最大的。
#include <stdio.h>
void main(){
void input(int *p, int n);
void deal(int *p, int n);
void output(int *p, int n);
int a[10],*p,n=10;
p = a;
input(p,n);
deal(p,n);
output(p,n);
}
void input(int *p, int n) //输入十个整数存到数组中
{
for (n=0; n<10; n++)
scanf("%d",p+n);
}
void output(int *p, int n) //打印出十个整数
{
for (n=0; n<10; n++)
printf("%d ",*(p+n));
}
void deal(int *p, int n) //实现交换
{
int temp,*min,*max,*b;
b=p;
min=b;
for (n=1; n<10; n++)
{
if (*min > *(b+n))
min=b+n;
}
temp=*p;
*p=*min;
*min=temp;
b=p;
max=b;
for (n=1; n<10; n++)
{
if (*max<*(b+n))
max=b+n;
}
temp=*(p+9);
*(p+9)=*max;
*max=temp;
}