当前位置: 代码迷 >> C语言 >> 谢谢前辈们帮我看一下那里错了!
  详细解决方案

谢谢前辈们帮我看一下那里错了!

热度:5   发布时间:2007-12-22 15:15:02.0
谢谢前辈们帮我看一下那里错了!
main()
{ int a[2][3],b[3][2];
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
   scanf("%d",&a[i][j]);
   for(i=0;i<2;i++)
     for(j=0;j<3;j++)
      b[j][i]=a[i][j];
    for(i=0;i<2;i++)
      for(j=0;j<3;j++)
      printf("%d",b[j][i]);
}
搜索更多相关的解决方案: 前辈  int  main  

----------------解决方案--------------------------------------------------------
是不是要输出转置?

#include "stdio.h"
void main()
{ int a[2][3];
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
   scanf("%d",&a[i][j]);

   for(i=0;i<2;i++){
     for(j=0;j<3;j++)
      printf("%d ",a[i][j]);
     printf("\n");
   }
printf("转置后为:\n");
   for(j=0;j<3;j++){
      for(i=0;i<2;i++)
      printf("%d ",a[i][j]);
      printf("\n");}

}
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
  int a[2][3],b[3][2];
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
  scanf("%d",&a[i][j]);
   for(i=0;i<2;i++)
    for(j=0;j<3;j++)
     b[j][i]=a[i][j];
    for(j=0;j<3;j++)
     for(i=0;i<2;i++)
     printf("%5d\n",b[j][i]);
     getchar();
     }
为什么这么做!运行还是不对呀!但我想了!我的思维好像并没有错呀!
请那位高人给我讲讲!到底是那个地方不对!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
int main(void)
{
     int  a[2][3]={{1,2,3},{4,5,6}};
      int  b[3][2] , i , j ;
      printf("array a:\n") ;
      for(i=0 ; i<2 ;i++)
        {  for(j=0 ; j<3 ; j++)
           printf("%5d", a[i][j]);
           printf("\n") ;
        }
      for(i=0 ; i<2 ; i++)
      {
         for(j=0 ; j<3 ; j++)
              b[j][i]=a[i][j] ;
             printf("array b:\n") ;}
      for(i=0 ; i<3 ; i++)
         {  for(j=0 ; j<2 ; j++)  
               printf("%5d", b[i][j]);
             printf("\n") ;    
         }
    return 0;
}
----------------解决方案--------------------------------------------------------
不知是不是楼主的意思
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
  int a[2][3],b[3][2];
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
  scanf("%d",&a[i][j]);
   for(i=0;i<2;i++)
    for(j=0;j<3;j++)
     b[j][i]=a[i][j];
     printf("%5d",a[i][j]);
    for(j=0;j<3;j++)
     for(i=0;i<2;i++)
     printf("%5d",b[j][i]);
     getchar();
     }
我在这加了FOR()下面加了一个:printf("%5d",a[i][j]);
我输入:1 2 3 4 5  6
结果为:5  1  4  2  5  3  6
多了一个“5”这是怎么回事!
给我看看!
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
  int a[2][3],b[3][2];
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
  scanf("%d",&a[i][j]);
   for(i=0;i<2;i++)
    for(j=0;j<3;j++)
     b[j][i]=a[i][j];
     printf("%5d",a[i][j]);
    for(j=0;j<3;j++)
     for(i=0;i<2;i++)
     printf("%5d",b[j][i]);
     getchar();
     }
我在这加了FOR()下面加了一个:printf("%5d",a[i][j]);
我输入:1 2 3 4 5  6
结果为:5  1  4  2  5  3  6
多了一个“5”这是怎么回事!
给我看看!
----------------解决方案--------------------------------------------------------
犯了好多低级错误
一个for语句应该加个大括号
----------------解决方案--------------------------------------------------------
回复3#你的数组一个是两行三列,另一个是三行两列,当然不对.
想一想就明白了.
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
呵呵谢谢!
----------------解决方案--------------------------------------------------------
  相关解决方案