c语言题输入一个M*N的整形矩阵,求其转置矩阵(MN由键盘输出)。

如题所述

#include <stdio.h>    
     
int main()   
{   
    int M,N;
    printf("输入:\n");
    scanf("%d %d",&M,&N);
    int a[M][N];
    int i,j;
    
    for (i=0;i<M;i++)
     for (j=0;j<N;j++)
     scanf("%d",&a[i][j]);
    
    printf("输出:\n");
    for (j=0;j<N;j++)
    {
     for (i=0;i<M;i++)
     {
     printf("%d",a[i][j]);
     if(i<M-1)
     printf(" ");
     }
     printf("\n");
}
    
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-28
#include<stdio.h>
void main()
{
int M,N;
scanf("%d%d",&M,&N);
int a[M][N],b[N][M];
int i,j;
for(i=0;i<M;i++)
    for(j=0;j<N;j++)
    {  scanf("%d",&a[i][j]);
       b[j][i]=a[i][j];
       }

   for(i=0;i<N;i++)
    {  for(j=0;j<M;j++)
   printf("%d ",b[i][j]);
   printf("\n");
    }
 }

至少给个赞,O(∩_∩)O谢谢

追问

我试了一下main must return int

追答

我可以啊,你实在不行就void删掉

追问

不知道为什么我换了台电脑重试下错误太多了

本回答被提问者和网友采纳
第2个回答  2016-12-17
你这个m ,n由 键盘输入,根本不是普通人可以做的。
首先你要学了动态分配,malloc 函数。
这还不够,二维动态数据更加麻烦。

自己改的题目吧
M,N 用 #define M 9 宏定义
相似回答