例如:
1 2 3 4 1 5 3 4
5 6 7 8 ->2 6 2 7
3 2 5 9 3 7 5 2
4 7 2 3 4 8 9 3
#include<stdio.h>
int main()
{
int a[4][4]={{1,2,3,4},{5,6,7,8},{3,2,5,9},{4,7,2,3}};
int i,j,t;
printf("原来的数组:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
printf("\n转置后的数组:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-11-08
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
void Transpose(int a[][10],int n);
main()
{
int n; //储存矩阵的大小
int i,j;
int a[10][10]={0}; //定义一个最大范围的数组储存矩阵
printf("Input n:");
scanf("%d",&n);
//用户按顺序输入一个矩阵
printf("Input %d*%d matrix:\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf(" %d",&a[i][j]);
}
Transpose(a,n);
//按顺序输出一个矩阵
printf("The transposed matrix is:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
system("pause");
}
//函数功能:实现矩阵转置
void Transpose(int a[][10],int n)
{
int i,j;
int t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}
#include<stdlib.h>
#include<math.h>
void Transpose(int a[][10],int n);
main()
{
int n; //储存矩阵的大小
int i,j;
int a[10][10]={0}; //定义一个最大范围的数组储存矩阵
printf("Input n:");
scanf("%d",&n);
//用户按顺序输入一个矩阵
printf("Input %d*%d matrix:\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf(" %d",&a[i][j]);
}
Transpose(a,n);
//按顺序输出一个矩阵
printf("The transposed matrix is:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
system("pause");
}
//函数功能:实现矩阵转置
void Transpose(int a[][10],int n)
{
int i,j;
int t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}
第2个回答 2015-12-04
#include "stdio.h"
int main() {
int n,i,j,t;
int a[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("转置后的矩阵:\n");
for(i=0;i<n;i++) {
for(j=0;j<n;j++){
t = a[i][j];
a[i][j]=a[j][i];
a[j][i] = t;
printf("%d ",a[i][j]);
}
printf("\n");
}
int main() {
int n,i,j,t;
int a[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("转置后的矩阵:\n");
for(i=0;i<n;i++) {
for(j=0;j<n;j++){
t = a[i][j];
a[i][j]=a[j][i];
a[j][i] = t;
printf("%d ",a[i][j]);
}
printf("\n");
}