C语言3*4数组怎么排大小?要每一个元素都排!

2024-12-02 15:18:39
推荐回答(1个)
回答(1):

二维数组元素存到一个一维数组中,再来排序
#include
"stdio.h"
int
main()
{
int
a[3][4]={0};
int
b[12]={0};
int
i,j,tmp;
printf("请输入一个
3X4
的数组:");
for(i=0;i<3;i++)
//
输入存到二维数组
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[i*4+j]=a[i][j];
//转成一维数组,这儿是最核心的。
for(i=0;i<11;i++)
for(j=i+1;j<12;j++)
//从小到大排序
if(b[i]>b[j])
{
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
printf("从小到大排序后输出:");
for(i=0;i<12;i++)
//排序后输出
printf("%d
",b[i]);
printf("\n");
}