C语言怎样在二维数组里每行进行冒泡排序?

2024年12月02日 13:06
有3个网友回答
网友(1):

改好了,试试
#include
int main()
{
int a[3][5]={{23,5,71,10,4},{39,23,7,85,-9},{36,12,52,-8,47}};

printf("输入数组:\n");
int i,j,k,s,d;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
{
for(s=j;s<5;s++)
{
if(a[i][j]>a[i][s])
{
k=a[i][s];
a[i][s]=a[i][j];
a[i][j]=k;
}
}
}
for(i=0;i<3;i++)
{

for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}

网友(2):

for(i)//控制行
{
for(j)控制列

for (k)

{
冒泡排序
}

}

网友(3):

int a[3][5] = { { 23, 5, 71, 10, 4 }, { 39, 23, 7, 85, -9 }, { 36, 12, 52, -8, 47 } };
int i, j, k, s;
for (i = 0; i < 3; i++)
{
for (j = 0; j<5; j++)
{
for (s = 0; s<4; s++)
{
if (a[i][s]>a[i][s + 1])
{
k = a[i][s + 1];
a[i][s + 1] = a[i][s];
a[i][s] = k;
}
}
}
}

for (i = 0; i<3; i++)
{
for (j = 0; j<5; j++)
printf("%5d", a[i][j]);
printf("\n");
}