编写函数实现对二维数组每一行用冒泡法升序排序。

#include <stdio.h>
void sort(int a[],int n);
int main()
{
int a[3][4],i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++) sort(a[i],4);
for(i=0;i<3;i++)
{ for(j=0;j<4;j++) printf("%5d",a[i][j]);
printf("\n");
}

return 0;
}

/* 请在这里填写答案 */

代码补充如下:

#include<stdio.h>
#include <stdio.h>
void sort(int a[], int n);
int main()
{
    int a[3][4], i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 4; j++)
            scanf("%d", &a[i][j]);
    for (i = 0; i < 3; i++) sort(a[i], 4);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++) printf("%5d", a[i][j]);
        printf("\n");
    }

    return 0;
}
void sort(int a[], int n)
{
    int i, j, t;
    for (i = 0; i < n-1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if (a[j] > a[j + 1]) //这里是从小到大排序,如果要从大到小,改成<即可
            {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
    }
}


#include "stdio.h"

//冒泡排序
void choose(int a[10]){
    int i,j,temp;
    for(i=1;i<10;i++)
    {
        for(j=9;j>=i;j--)
        {
            if(a[j]<a[j-1]){
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
        }    
    }    
}
//输出
void output(int a[10]){
    int i;
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);    
}
void main()
{
    
    int b[20];
    int a[10];
    int i,cnt=0;
    for(i=0;i<20;i++){
        scanf("%d",&b[i]);
        if(i%2==0){
            a[cnt++]=b[i];
        }    
    }
    //冒泡排序
    choose(a);
    //输出
    output(a);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632