#include <stdio.h>
int main(){
int i;
int j;
int q,w,r,t,u,s;
int b[2][3];
int a[3][2];
scanf("%d",&q,&w,&r,&t,&u,&s);
int a[3][2]={
{q,w,r},
{t,u,s},
};
for(i=0;i<3;i++){
for(j=0;j<2;j++){
b[j][i]=a[i][j];}}
for(i=0;i<3;i++){
for(j=0;j<2;j++){
printf("%d\n",b[j][i]);}}
return 0;
}
修改见注释,供参考:
#include <stdio.h>
int main()
{
int i;
int j;
int q,w,r,t,u,s;
int b[2][3];
//int a[3][2]; //修改
scanf("%d%d%d%d%d%d",&q,&w,&r,&t,&u,&s); //修改
int a[3][2]={{q,w}, //修改
{r,t},
{u,s}};
for(i=0;i<3;i++){
for(j=0;j<2;j++){
b[j][i]=a[i][j];
}
}
for(i=0;i<2;i++){ //修改
for(j=0;j<3;j++){ //修改
printf("%4d",b[i][j]); //修改
}
printf("\n");//修改
}
return 0;
}
我下面的代码是将2行3列的矩阵转置为3行2列
#include <stdio.h>
int main()
{
int i;
int j;
int q, w, r, t, u, s;
int b[3][2];
scanf("%d %d %d %d %d %d", &q, &w, &r, &t, &u, &s);
int a[2][3] = {
{q,w,r},
{t,u,s},
};
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
b[j][i] = a[i][j];
}
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("%d\t", b[i][j]);
}
printf("\n");
}
return 0;
}