zoukankan      html  css  js  c++  java
  • 【2020】输出矩阵

    Time Limit: 3 second
    Memory Limit: 2 MB

    设计程序,当用户键入n,输出题意规定的n*n矩阵。
    例如,用户输入n的值为9,则输出:
    999999999
    988888889
    987777789
    987666789
    987656789
    987666789
    987777789
    988888889
    999999999

    Input

    输入文件仅一行,输入n(1≤n≤9)。

    Output

    输出矩阵。(最后用换行结束)

    Sample Input

    4
    
    

    Sample Output

    4444
    4334
    4334
    4444
    

    【题解】

    注意一圈一圈往内外围的数字逐渐递减,然后模拟一下等于9时如何处理,很容易找到规律,把9改成一个变量就可以了。

    【代码】

    #include <cstdio>
    
    const int MAXN = 9;
    
    int n,a[MAXN+2][MAXN+2];
    
    void input_data()
    {
        scanf("%d",&n);
    }
    
    void get_ans()
    {
        for (int i = n;i >= ((n/2)+1);i--) //这里i的下界就是整个矩阵中出现的最小数。
            {
                for (int j = 1+n-i;j <= i;j++) //这里的规律要先模拟一下才能找出来。 取n=9是比较好的选择。
                    {
                        a[1+n-i][j] = i;
                        a[j][1+n-i] = i;
                        a[i][j] = i;
                        a[j][i] = i;
                    }
            }
        for (int i = 1;i <=n;i++)
        {
            for (int j = 1;j <= n;j++)
                printf("%d",a[i][j]);
            printf("
    ");
        }
    
    
    }
    
    int main()
    {
        input_data();
        get_ans();
        return 0;
    }
    


     

  • 相关阅读:
    最全前端面试题
    经常犯的思维误区
    鸿蒙系统发布会
    前端面试题
    怎么做一个竖排文字?
    canvas-台球玩法
    canvas-自由落体球
    canvas-画一颗心
    canvas-学写字
    常用的65条正则表达式
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7632479.html
Copyright © 2011-2022 走看看