1. 程式人生 > >乙級PAT 1036.跟奧巴馬一起程式設計

乙級PAT 1036.跟奧巴馬一起程式設計

美國總統奧巴馬不僅呼籲所有人都學習程式設計,甚至以身作則編寫程式碼,成為美國曆史上首位編寫計算機程式碼的總統。2014年底,為慶祝“電腦科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機程式碼:在螢幕上畫一個正方形。現在你也跟他一起畫吧!

輸入格式:

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

輸出格式:

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

輸入樣例:
10 a
輸出樣例:
aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa

這個題就是列印圖形,題目中要求的是行數是列數的1/2,所以要首先判斷列數是奇數還是偶數。圖形大致分為三部分,第一行、中間和最後一行,按要求列印即可。


程式碼如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int row,col;
    char c;
    cin>>col>>c;
    if(col%2==1)
        row = col/2+1;
    else
        row = col/2;
    for(int i=0;i<col;i++)
        cout<<c;
    cout<<endl;
    for(int i=1;i<row-1;i++)
    {
        cout<<c;
        for(int j=0;j<col-2;j++)
            cout<<" ";
        cout<<c<<endl;
    }
    for(int i=0;i<col;i++)
        cout<<c;
    cout<<endl;
    return 0;
}