用指向指针的指针的方法对n个整数排序并输出。

问题及代码:

/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All right reserved.
 *文件名称:main.cpp
 *作    者:郝昱猛
 *完成日期:2016年4月28日
 *版 本 号: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;
}


运行结果:

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

用指向指针的指针的方法对n个整数排序并输出。

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭