#include<stdio.h>
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;
}
}
}
}
int main(){
int i,n,data[20],**p,*pstr[20];
// 获取用户输入的整数个数
printf("请输入整数的个数n:\n");
scanf("%d",&n);
// 获取用户输入的整数数据
printf("输入n个整型数字:\n");
for (i = 0; i < n; i++)
scanf("%d", &data[i]);
// 准备指针数组,以方便对数据进行排序
for (i = 0; i < n; i++)
pstr[i] = &data[i];
p=pstr;
// 调用排序函数
sort(p,n);
// 打印排序后的结果
printf("排序后的结果是:\n");
for(i=0;i<n;i++)
printf("%d ",*pstr[i]);
printf("\n");
return 0;
}
用指向指针数组的指针方法对n个整数排序并输出。
最新推荐文章于 2024-05-21 21:07:34 发布