http://www.educity.cn 
 #include 

  main()

  {

  static int a[5][5]={

  {1,2,3,4,0},

  {2,3,4,0,6},

  {3,0,1,7,5},

  {0,0,2,4,1},

  {8,4,3,2,7}

  };

  int i,j;

  for (i=0;i<5;i++)

  {

  for (j=0;j<5;j++)

  {

  if (a[j]==0)

  break;

  printf("%4d",a[j]);

  }

  printf("\n");

}

  参考答案:

  1 2 3 4

  2 3 4

  3

  8 4 3 2 7

  解析如下:

  首先我们从for (j=0;j<5;j++)看起,往下是

  {

  if (a[j]==0)

  break;

  printf("%4d",a[j]);

  }

  把a[5][5]二维数组中的每列中从左至右第一个为零的数之前的数输出!

  for (i=0;i<5;i++) 就是5行