N7FAA52318 2022-01-13 21:37 采纳率: 62.5%
浏览 1362
已结题

C语言-输入N个整数,用冒泡排序算法将它们按升序排序后输出

问题遇到的现象和发生背景

使用函数的方法,输入N个整数,用冒泡排序算法将它们按升序排序后输出

我的代码
#include <stdio.h>
#define N 10

void sort (int *p, int n);
int main(void)
{
    int a[N],*pa ;
    int i;
    for(pa=a;pa<a+N;pa++)
        scanf("%d",pa);
    sort(a,N);
    for(i=0;i<10;i++)
          printf("%d ",a[i]);
    printf("\n");
    return 0;
    }

void sort (int *p, int n)
{
    int i,j,tmp;
        for(j=0;j<n-1;j++)
    {
        for(i=0;i<n-j-1;i++)
        {
            if(*(p+i)>*(p+i+1))
            {
            tmp=*(p+i);
            *(p+i+1)=*(p+i);
            *(p+i)=tmp;

            }
        }
    }
}


运行结果及报错内容

运行无法输出正确的答案

我想要达到的结果

请指正代码哪里错误了,谢谢

  • 写回答

2条回答 默认 最新

  • 墨色染夕 若水三千 2022-01-13 22:11
    关注

    scanf("%d",pa);
    pa可是地址你怎么输入,还有下面的互换也错了,已改好,望采纳

    #include <stdio.h>
    #define N 10
    
    void sort(int *p, int n);
    int main(void)
    {
        int a[N], *pa;
        int i;
        for (pa = a; pa<a + N; pa++)
            scanf("%d",&(*pa));
        sort(a, N);
        for (i = 0; i<N; i++)
            printf("%d ", a[i]);
        printf("\n");
        return 0;
    }
    
    void sort(int *p, int n)
    {
        int i, j, tmp;
        for (j = 0; j<n - 1; j++)
        {
            for (i = 0; i<n - j - 1; i++)
            {
                if (*(p + i)>*(p + i + 1))
                {
                    tmp = *(p + i);
                    
                    *(p + i) = *(p + i + 1);
                    *(p + i + 1) = tmp;
    
                }
            }
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动