#include
int main(void)
{
int a[8],*p;
int i,j,t,k;
//第一空:将数组地址赋值给p
p =a;
printf("Input the numbers:");
for(i=0;i<8;i++)
scanf("%d",p+i);
t=*p;
//第二空:外部循环一共是需要8次,但是从0开始,故是8
for(i=0;i<8;i++)
{
for(j=i;j<8;j++)
if(j==i||*(p+j){
t=*(p+j);
k=j;
}
if(k!=i)
{
t=*(p+k);
//简单的交换,将a[k]和a[i]里面的值进行交换
//只不过是用指针实现交换的
*(p+k)=*(p+i);
*(p+i)= t;
}
}
for(i=0;i<8;i++)
printf("%5d",*(p+i));
return 0;
}
p=a
i<7
*(p+k)=*(p+i)
*(p+i)=t