用指向指针的指针的方法对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; } } } }
#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);
scarf("%d",pstr[i]);
p=pstr;
sort(p,n);
printf("Now,the sequence is:\n”);
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;
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题