PAT 乙級 1036.跟奧巴馬一塊兒編程 C++/Java

題目來源html

美國總統奧巴馬不只呼籲全部人都學習編程,甚至以身做則編寫代碼,成爲美國曆史上首位編寫計算機代碼的總統。2014 年末,爲慶祝「計算機科學教育周」正式啓動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。如今你也跟他一塊兒畫吧!ios

輸入格式:

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

輸出格式:

輸出由給定字符 C 畫出的正方形。可是注意到行間距比列間距大,因此爲了讓結果看上去更像正方形,咱們輸出的行數其實是列數的 50%(四捨五入取整)。學習

輸入樣例:

10 a

輸出樣例:

aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa

分析:

第一行與最後一行單獨輸出spa

中間的在第1次循環和最後一次循環輸出字符就能夠了,其餘輸出空格code

C++實現:

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     float column, row;
 6     char letter;
 7     cin >> column;    //正方形邊長
 8     cin >> letter;    //用於繪圖的字母
 9     row = (int)(column / 2 + 0.5);    //輸出的行數是列數的50%
10     
11     //輸出第一行
12     for (int i = 0; i < column; ++i)
13     {
14         cout << letter;
15     }
16     cout << endl;
17 
18     //輸出 2 到 row-1 行
19     for (int i = 2; i < row; ++i)
20     {
21         cout << letter;    //每一行的第一個字母
22         for (int j = 1; j < column - 1; ++j)
23         {
24             cout << " ";
25         }
26         cout << letter << endl;    //每一行的最後一個字母
27     }
28     //輸出最後一行
29     for (int i = 0; i < column; ++i)
30     {
31         cout << letter;
32     }
33     return 0;
34 }

 

 

Java實現:

相關文章
相關標籤/搜索