矩阵转置v1.0(4分)
题目内容:
用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。其中,n的值不超过10,n的值由用户从键盘输入。
程序运行结果示例1:
Input n:3↙
Input 3*3 matrix:
1 2 3↙
4 5 6↙
7 8 9↙
The transposed matrix is:
1 4 7
2 5 8
3 6 9
程序运行结果示例2:
Input n:2↙
Input 2*2 matrix:
1 2↙
4 5↙
The transposed matrix is:
1 4
2 5
输入提示信息:
提示输入矩阵的阶数:“Input n:”
提示输入矩阵数据:“Input %d*%d matrix:\n”
输入格式: “%d”
输出提示信息:“The transposed matrix is:\n”
输出格式:“%4d”
#include<stdio.h>
#define N 10
void extr(int a[][N],int n);
int main(){
int n=0;
printf("Input n:");
scanf("%d",&n);
int array[N][N]={
0};
int number=0;
printf("Input %d*%d matrix:\n",n,n);
for(int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
number++;
array[x][y]=number;
printf("%4d",array[x][y]);
}
printf("\n");
if(n%2==1)
number=number;
else
number+=1;
}
printf("The transposed matrix is:\n");
extr(array,n);
return 0;
}
void extr(int a[][N],int n)
{
for(int m=0;m<n;m++){
for(int q=0;q<n;q++)
{
printf("%4d",a[q][m]);
}
printf("\n");
}
}