/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年4月25日
*版 本 号:v1.0
*
*问题描述:用指向指针的指针的方法对n个整数排序并输出。
*输入描述:n和n个整数
*程序输出:排序后的整数
*/
#include <stdio.h>
void sort(int **p,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++) //利用冒泡排序法进行排序
{
if(*p[j]>*p[j+1]) //或者是*(*(p+j))>*(*(p+j+1))
{
temp=*p[j];
*p[j]=*p[j+1];
*p[j+1]=temp;
}
}
}
int main()
{
void sort(int **,int );
int i,n,data[20],**p,*pstr[20];
scanf("%d",&n);
for(i=0;i<n;i++)
pstr[i]=&data[i];
for(i=0;i<n;i++)
scanf("%d",pstr[i]);//输入整数
p=pstr; //二级指针指向一级指针
sort(p,n);
for(i=0;i<n;i++)
printf("%d ",*pstr[i]); //输出排序好的整数
return 0;
}
C/C++复习:整数排序(2)
最新推荐文章于 2024-04-09 15:37:44 发布