PAT B1036 跟奧巴馬一起程式設計(簡單模擬)

sunlanchang發表於2019-02-01

描述

格式:
輸入在一行中給出正方形邊長 N(3≤N≤20)和組成正方形邊的某種字元 C,間隔一個空格。

輸出格式:

輸出由給定字元 C 畫出的正方形。但是注意到行間距比列間距大,所以為了讓結果看上去更像正方形,我們輸出的行數實際上是列數的 50%(四捨五入取整)。

輸入樣例:

10 a

輸出樣例:

aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa

Solution

構造map二維陣列再輸出。

#include <iostream>
#include <cstdio>
using namespace std;
char Map[22][22];
int main()
{
    // freopen("in.txt", "r", stdin);
    int col, line;
    char ch;
    scanf("%d %c", &col, &ch);
    if ((col & 1) == 1)
        line = col / 2 + 1;
    else
        line = col / 2;
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < col; j++)
        {
            if (i == 0 || i == line - 1)
                Map[i][j] = ch;
            else
            {
                if (j == 0 || j == col - 1)
                    Map[i][j] = ch;
                else
                    Map[i][j] = ' ';
            }
        }
    }
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < col; j++)
            printf("%c", Map[i][j]);
        printf("\n");
    }
    return 0;
}

相關文章