编写程序,将二维数组中的数组元素的值按照升序排序,并输出该数组,要求如下: (1) 15
编写程序,将二维数组中的数组元素的值按照升序排序,并输出该数组,要求如下:(1)键盘输入3行4列12个整型数,并按照表格的形式3行4列输出这些原始数据,不需要表格线;(2...
编写程序,将二维数组中的数组元素的值按照升序排序,并输出该数组,要求如下:
(1)键盘输入3行4列12个整型数,并按照表格的形式3行4列输出这些原始数据,不需要表格线;
(2)将数组中的数据排序后,再按照表格的形式3行4列输出排序后的数据,不需要表格线;
请编写3个函数,分别实现输入:原始数据并输出、排序、排序后数据的输出功能;再编写一个主函数调用这3个函数,测试程序的功能。
看不懂,求讲解 展开
(1)键盘输入3行4列12个整型数,并按照表格的形式3行4列输出这些原始数据,不需要表格线;
(2)将数组中的数据排序后,再按照表格的形式3行4列输出排序后的数据,不需要表格线;
请编写3个函数,分别实现输入:原始数据并输出、排序、排序后数据的输出功能;再编写一个主函数调用这3个函数,测试程序的功能。
看不懂,求讲解 展开
展开全部
#include <stdio.h>
void A(int a[3][4]){
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
void B(int a[3][4]){
int t,s;
for(int i=0;i<3;i++)
for(int j=0,y=0;j<4;j++){
s=0;
t=a[i][j];
y=j;
for(int x=i;x>=0;x--){
for(;y>=0;y--){
if(x==i && y==j) continue;
if(t<a[x][y]){
a[x+(y+1)/4][(y+1)%4]=a[x][y];
a[x][y]=t;
}
else{
s=1;
break;
}
}
if(s==1) break;
y=3;
}
}
}
void C(int a[3][4]){
for(int i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
main(){
int a[3][4]={0};
A(a);
B(a);
printf("\n");
C(a);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询