C语言:有二维数组a[N][M],用冒泡排序法对二维数组中的每一行数据进行由小到大的排序,然后输出

C语言:有二维数组a[N][M],用冒泡排序法对二维数组中的每一行数据进行由小到大的排序,然后输出排序后的数组a

第1个回答  2015-04-13
void px( 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;
}
}

void main()
{
int a[N][M];
int i,j;
for( i=0;i<N;i++ )
{
px( a[i], M );
for( j=0;j<M;j++ )
{
printf("%d ", a[i][j] );

}
printf("\n");
}
}追问

没学函数😭,用数组怎么编

追答

数组方法与上面一样,只是把函数那部分移动到主函数中,替换了px()调用那里,
只不过,这样的代码看起很乱,不建议这样做!

追问

好哒,谢谢

追答

移动时,注意 函数中的i,j 要换成 a b
n换成M, 不然,变量有冲突

本回答被提问者采纳

C语言 如何对二维数组进行按列排序?
在C语言中,二维数组按行存储,对每一行排序很方便,可以把每一行当成一个一维数组,使用排序函数直接进行排序。然而对每一列进行排序,就不能直接当成一维数组进行排序。但是仍然可以把第j列a[0...M-1][j]在逻辑上当成一维数组进行排序,下面以使用冒泡排序为例对其排序。对二维数组按列排序后,进...

c语言给定二维整型数组先对每行从小到大排序,后对每列从小到大排序反复...
int len);\/\/对数组升序排列void printfNUMS(int *nums,int r,int c);\/\/打印数组int main(){ int i,j,flag=0,cnt=0,nums[row][clo]={{4,6,2,8},{4,8,3,2},{9,8,6,4}},**ns=NULL; printf("原始的数组:\\n"); ...

C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出_百 ...
include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b) { return *(char*)a - *(char*)b; \/\/ 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qs...

...中 利用冒泡法 将一个二位数组 n行m列的 每一行 从大到小的顺序排 ...
Sort(r, n, m);for( i = 0; i < n; i ++ )for( j = 0; j < m; j ++ )printf( "%c", str[i][j] );}

求教c语言二维数组的冒泡排序法?
1、打开Visual Studio工具并创建一个新的Win32程序。2、在打开的C语言文件中,导入stdio.h空间,然后准备一个main函数。3、接下来,准备一个需要进行冒泡排序的整数数组。如下图所示,数组中数字的顺序是不正常的。4、接下来,准备变量,准备好的变量用于对交互数据进行排序。5、然后我们准备两个for循环...

c语言中二维数组按行还是按列存储啊?
在c语言里二维数组元素在内存中是按行存放的。二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:LOC(a[i][j]) = LOC(a[p][q]) + ((i −...

C语言怎样对二维数组中每个元素进行选择排序
){ int a[5][8],i,j,k,t,*p; printf("排序前:\\n"); srand((unsigned)time(NULL)); for(i=0;i<5;i++){\/\/为二维数组赋值 for(j=0;j<8;printf("%3d",a[i][j++]=rand()%100)); printf("\\n"); } printf("排序后:...

一道C语言题目,编写函数用冒泡排序法对数组中的数据进行从小到大的排序...
1、新建一个163.php。2、输入php网页的结构(<?php?>)。3、声明PHP与浏览器交互的文件类型和编码。4、使用 array() 函数定义一个$numbers数组。5、使用 sort() 函数对数组 $numbers 中的元素进行排序。6、使用 print_r() 函数,输出排序后的数组。7、运行网页,在浏览器中输出排序后的数组。

C语言:编写函数用冒泡排序法对数组中的数据进行从小到大的排序.
int i,j,temp;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}之间写这个

C语言中二维数组找到每行的最大值?
int max = a[i][0]; \/\/先将每一行的第一个数作为最大值 for (j = 1; j < N; j++) \/\/找出行最大值 if (max < a[i][j])max = a[i][j];maxArr[i] = max; \/\/将行最大值存入行最大值数组中 } for (i = 0; i < M; i++) \/\/将每行最大的数输出 printf("%d...

相似回答