1036 跟奧巴馬一起編程 (15 分)
美國總統奧巴馬不僅呼籲所有人都學習編程,甚至以身作則編寫代碼,成爲美國歷史上首位編寫計算機代碼的總統。2014 年底,爲慶祝“計算機科學教育周”正式啓動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。現在你也跟他一起畫吧!
輸入格式:
輸入在一行中給出正方形邊長 N(3≤N≤20)和組成正方形邊的某種字符 C,間隔一個空格。
輸出格式:
輸出由給定字符 C 畫出的正方形。但是注意到行間距比列間距大,所以爲了讓結果看上去更像正方形,我們輸出的行數實際上是列數的 50%(四捨五入取整)。
輸入樣例:
10 a
輸出樣例:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
#include <cstdio>
int main()
{
int n;
char c;
scanf("%d %c",&n,&c);
int a,b;//行,列
a=n;
if(n%2==0)
b=n/2;
else
b=n/2+1;
for(int i=0;i<a;i++)
printf("%c",c);
printf("\n");
for(int i=0;i<b-2;i++)
{
printf("%c",c);
for(int j=0;j<a-2;j++)
printf(" ");
printf("%c\n",c);
}
for(int i=0;i<a;i++)
printf("%c",c);
return 0;
}
思路:由於行數是列數的一半(四捨五入),因此當列數a是奇數時,行數b就是a/2+1;列數a是偶數時,行數b就是a/2。