dranowrong 2023-02-18 12:13 采纳率: 60%
浏览 59
已结题

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

题目要求:编写一个程序,用指向指针的指针的方法对n个整数排序并输出。要
求写一个自定义函数sort(),其原型为:void sort(int **p,int n);n和整数在
主函数中输入,排序后结果最后在主函数中输出
编写的代码不对,哪里有问题呢:

#include <stdio.h>
void sort(int **p, int n) {
    int i, temp, j;

    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - 1; j++) {
            if (**p > **(p + 1)) {
                temp = **p;
                **p = **(p + 1);
                **(p + 1) = temp;
            }
        }
    }

}
int main() {
    int **p ;
    int i, n;
    while (scanf("%d", &n) && n != 0) {

        for (i = 0; i < n; i++, p++) {
            scanf("%d", & **p);
        }
        sort(p, n);
        for (i = 0, p = 0; i < n; i++, p++) {
            printf("%d", **p);
        }
    }
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2023-02-18 12:22
    关注
    #include <stdio.h>
    void sort(int **p, int n) {
        int i, temp, j;
     
        for (i = 0; i < n - 1; i++) {
            for (j = 0; j < n - i-1; j++) {
                if (*(*p+j) > *(*p + j+1)) {
                    temp = *(*p+j);
                    *(*p+j)= *(*p + j+1);
                    *(*p +j+ 1) = temp;
                }
            }
        }
     
    }
    int main() {
        int *a = NULL;
        int **p = NULL;
        int i, n;
        while (scanf("%d", &n) && n != 0) {
            a = (int*)malloc(sizeof(int)*n);
            p = &a;
            for (i = 0; i < n; i++) {
                scanf("%d", (*p)+i);
            }
            sort(p, n);
            for (i = 0; i < n; i++) {
                printf("%d ", *(*p+i));
            }
            free(a);
        }
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月18日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭