求高手解答一道编程题目
输入8个整数 将其中最大的和最后一个交换,最小的和最后一个交换。
#include<stdio.h>
main()
{
int a[8],i,*p,max,min,t;
max=min=0;
p=a;
for(i=0;i<8;i++)
scanf("%d",&a[i]);
for(i=0;i<8;i++)
if(*(p+i)<*(p+min))
min=i;
if(min!=7)
{t=*(p+7);
*(p+7)=*(p+min);
*(p+min)=t;
}
for(i=0;i<8;i++)
if(*(p+i)>*(p+max))
max=i;
if(max!=0)
{t=*(p+0);
*(p+0)=*(p+max);
*(p+max)=t;
}
for(p=a;p<a+8;p++)
printf("%d\n",*p);
}