Reficul33 2018-11-28 12:31 采纳率: 75%
浏览 15631
已采纳

输入n(1≤n≤10)个整数,用冒泡排序法对其从小到大排序,共进行n-1趟,要求输出每一趟的排序情况

输入格式:
先输入个数n,再输入n个整数。

输出格式:
第1趟结果

第2趟结果

......

第n-1趟结果

每个数后面有一个空格,每个序列占一行。

输入样例:
5
4 2 3 2 1
输出样例:
2 3 2 1 4
2 2 1 3 4
2 1 2 3 4
1 2 2 3 4

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-11-28 14:26
    关注

    如果问题得到解决,请点我回答左上角的采纳和向上的箭头

    #include "stdio.h"
    
    int main()
    {
        int arr[10];
        int n;
        scanf("%d", &n);
        for (int i = 0; i < n; i++)
            scanf("%d", &arr[i]);
        for (int i = 0; i < n - 1; i++)
        {
            for (int j = 0; j < n - i - 1; j++)
            {
                if (arr[j] > arr[j + 1])
                {
                    int t = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = t;
                }
            }
            for (int j = 0; j < n; j++)
                printf("%d ", arr[j]);
            printf("\n");
        }
        return 0;
    }
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • harkbox 2018-11-28 14:46
    关注

    #include
    int main()
    {
    int n;
    int a[100];
    scanf("%d", &n);
    int c = 0;
    for (int i = 0; i < n; i++)
    {
    scanf("%d", &a[i]);
    }
    for (int j = 0; j <= n; j++)
    {
    for (int b = 0; b < n-1; b++)
    {
    if (a[b]>a[b + 1])
    {
    c = a[b];
    a[b] = a[b + 1];
    a[b + 1] = c;
    for (int j = 0; j < n; j++)
    printf("%d\n", a[j]);
    }
    }
    }
    for (int j = 0; j < n; j++)
    printf("%d\n", a[j]);

    getch();
    return 0;
    

    }

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 电脑画面同步投屏,通过同wifi的方式投屏方法,接收投屏端不需要安装第三方软件,
  • ¥15 有偿拼接大疆精灵4RGB影像
  • ¥15 Arduino实现音频混响
  • ¥15 cuda.jit加速报错
  • ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
  • ¥15 docker save的不能在另一台设备运行
  • ¥15 Unity Animation Rigging使用问题
  • ¥15 mbedtls握手返回-7200
  • ¥30 c++ http服务器
  • ¥15 express连接mssql,每条额外附加了语句