分析:
十個數存放在數組裏,進行逐個比較找到最小的與最大的。
#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;
}