• 矩阵模拟输出


    题目:

    题目描述

    回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。

     

    输入格式

     

    输入

    输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。

     

    输出格式

     

    输出

    输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。

     

    样例输入

    3 3

    1 2 3

    4 5 6

    7 8 9

    样例输出

    1 4 7 8 9 6 3 2 5

    代码:

    #include<stdio.h>

    #include<string.h>

    int main()

    {

    int i,j,k,m,n,x;

    int a[220][220];

    while(scanf("%d %d",&m,&n)!=EOF)

    {

    x=0;

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

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

      scanf("%d",&a[i][j]);

      k=0;

      printf("%d",a[0][0]);

      i=1;j=0;

    while(k<m*n-1)

    {

        while(i<m-x)

         {

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

          i++;k++;

     }

     i--;j++;

     while(j<n-x)

     {

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

      j++;k++;

     }

     j--;i--;

     while(i>x)

     {

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

      i--;k++;

     }

     while(j>x)

     {

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

       j--;k++;

     }

    i++;x++;j++;

    }

    printf(" ");

    }

    return 0;

    }

    特殊样例:

    Test in:

    1 1

    2

    1 3

    1 2 3

    Test out

    2    

    1 2 3

    题目类型:

    模拟

    解题思路:

    循环模拟输出。

    错误分析:

    每次需要控制好循环下标,以免输出顺序错误。

  • 相关阅读:
    python字典推导式
    什么是Python 自省
    类变量和实例变量
    Python 使用正则表达式匹配URL网址
    python is 和 “==”的区别
    阮一峰老师的bash教程,建议阅读
    python里的闭包
    什么是生成器
    python访问限制
    pytorch使用Tips
  • 原文地址:https://www.cnblogs.com/weidongya/p/7219802.html
Copyright © 2020-2023  润新知