要求使用二维数组从键盘输入一个3×4的矩阵,然后对它进行转置,最后输出转置矩阵.

如题所述

第1个回答  2015-05-04
#include "stdafx.h" //VS 预编译头文件,其他系统请删除
#include<stdio.h>
#include<stdlib.h>
//VS 2013 否决了 scanf 等函数,为了使用,加上下句。
//其他系统请删除
#pragma warning(disable:4996)

//VS 主函数签名格式。其他系统请改变签名,如:
//int main()
int _tmain(int argc, _TCHAR* argv[])
{
int a[4][3], b[4][3];
printf("Please input 3x4 array:\n");
scanf("%d%d%d%d%d%d%d%d%d%d%d%d", &a[0][0], &a[0][1], &a[0][2], &a[1][0], &a[1][1], &a[1][2], &a[2][0], &a[2][1], &a[2][2], &a[3][0], &a[3][1], &a[3][2]);
int i, j;
printf("The orinal array is:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%6d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");

}
printf("The transposed array is:\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
printf("%6d", b[i][j]);
}
printf("\n");
}

system("pause"); //避免窗口一闪而退
return 0;
}追问

我根据亲的答案改了一下,出现两个问题,

1显示出来的矩阵是4×3,而不是3×4

2转置矩阵没有按矩阵的格式排列

本回答被提问者采纳
相似回答