求大神解答一道简单的c语言编程问题。 题目:编一函数实现一个n*n的矩阵转置。在程序的主函数中用s
求大神解答一道简单的c语言编程问题。题目:编一函数实现一个n*n的矩阵转置。在程序的主函数中用scanf函数输入以下矩阵元素;将数组名作为函数实参;函数调用后在主函数中输...
求大神解答一道简单的c语言编程问题。
题目:编一函数实现一个n*n的矩阵转置。在程序的主函数中用scanf函数输入以下矩阵元素;将数组名作为函数实参;函数调用后在主函数中输出已转置的矩阵。(有附图) 展开
题目:编一函数实现一个n*n的矩阵转置。在程序的主函数中用scanf函数输入以下矩阵元素;将数组名作为函数实参;函数调用后在主函数中输出已转置的矩阵。(有附图) 展开
展开全部
#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<stdio.h>
#include<string.h>
#define N 4
int convertmatrix(int m[N][N])
{
int i,j,temp;
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
temp=m[i][j];
m[i][j]=m[j][i];
m[j][i]=temp;
}
}
return 0;
}
int main()
{
int matrix[N][N];
int i,j;
printf("请输入一个%d*%d的矩阵:\n",N,N);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&matrix[i][j]);
}
}
convertmatrix(matrix);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%-3d",matrix[i][j]);
}
printf("\n");
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
追问
把你编的复制下来给我发过来吧,大神
追答
#include
#define n 4
void transpose(int a[n][n],int b[n][n]);
int main()
{
int a[n][n],b[n][n],i,j;
printf("请输入一个4×4的矩阵:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n转置后的矩阵为:\n");
transpose(a,b);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",b[i][j]);
putchar(10);
}
return 0;
}
void transpose(int a[n][n],int b[n][n])
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
b[i][j]=a[j][i];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询