C语言编程:用指向指针的指针的方法对n个整数排序并输出。

要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出... 要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出 展开
 我来答
二三社会事
高粉答主

2019-05-24 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1254
采纳率:0%
帮助的人:30.1万
展开全部

用指向指针的指针的方法对n个整数排序并输出的具体编程步骤如下:

1、编写头函数:#include <stdio.h>。

2、编写条件函数:

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;

}

}

}

3、最后编写主函数:

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;

}

风若远去何人留
2017-12-12 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450104
专业C/C++软件开发

向TA提问 私信TA
展开全部
#include <stdio.h>  
#include <stdlib.h>  
#define MAXSIZE 100  
void swap(int*, int*);  
void sort(int**, int);  
int main(void)  
{  
    int i;  
    int n;  
    //整形数组  
    int array[MAXSIZE];  
    //指针数组  
    int *pArray[MAXSIZE];  
    printf("please enter n:\n");  
    scanf("%d", &n);  
    for (i = 0; i < n; ++i)  
    {  
        scanf("%d", &array[i]);  
        pArray[i] = &array[i];  
    }  
    sort(pArray, n);  
    for (i = 0; i < n; ++i)  
    {  
        printf("%d\n", *pArray[i]);  
    }  
    return 0;  
}  
//交换  
void swap(int *a, int *b)  
{  
    int temp = *a;  
    *a = *b;  
    *b = temp;  
}  
//排序  
void sort(int **array, int n)  
{  
    int *p;  
    int *q;  
    for (p = *array; p < *array + n; ++p)  
    {  
        for (q = p + 1; q < *array + n; ++q)  
        {  
            if (*p > *q)  
            {  
                swap(p, q);  
            }  
        }  
    }  
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式