首页 > 试题广场 >

用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写

[问答题]

用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函

数。n个整数在主函数中输入,最后在主函数中输出。要求用指针方法处理。

推荐

#include<stdio.h>

int main()

{void sort(int **p,int n);

int i,n,data[20],**p,*pstr[20];

printf(“input n:\n");

scanf("%d",&n);

for(i=0;i<n;i++)

pstr[i]=&data[i];                //将第i个整数的地址赋予指针数组pstr的第i个元素

printf("input %d integer numbers:",n);

for(i=0;i<n;i++)

scarf("%d",pstr[i]);

p=pstr;

sort(p,n);

printf("Now,the sequence is:\n”);

for(i=0;i<n;i++)

printf("%d  ",*pstr[i]);

printf("\n");

return 0;

}

void sort(int**p,int n)

{int i,j,*temp;

for(i=0;i<n-1;i++)

{for (j=i+1;j<n;j++)

{if(**(p+i)>**(p+j))                               //比较后交换整数地址

{temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

}

}


发表于 2018-03-25 10:33:36 回复(0)