演算法學習之路|跟奧巴馬一起程式設計

kissjz發表於2018-02-26

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

輸入格式

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

輸出格式

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

輸入樣例:
10 a
輸出樣例:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
解題思路

先輸出第一行

在根據輸入的n,n/2-2得出中間的行數

再輸出最後一行即可。

#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
    int n;
    char ch;
    scanf("%d %c",&n,&ch);
    int mid;
    if(n%2==0){
        mid=n/2;
        mid-=2;
    }
    else{
        mid=n/2;
        mid-=1;
    }
    for(int i=0;i<n;i++){
        printf("%c",ch);
    }
    cout<<endl;
    for(int i=0;i<mid;i++){
        cout<<ch;
        for(int j=0;j<n-2;j++){
            
            printf("%c",` `);
        }
        cout<<ch<<endl;
    }
    
    for(int i=0;i<n;i++){
        printf("%c",ch);
    }
}


相關文章