日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[PAT B1036]跟奥巴马一起编程(15分)

發布時間:2024/9/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [PAT B1036]跟奥巴马一起编程(15分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1036 跟奧巴馬一起編程(15)(15 分)

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

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

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

輸入樣例:10 a

輸出樣例:

aaaaaaaaaa a a a a a a aaaaaaaaaa

參考代碼

#include <cstdio>void show_n_char(int n, char c) {for(int i = 0; i < n; i++) {putchar(c);} }int main() {int N, rowC;char C;while(scanf("%d %c", &N, &C) != EOF && (3<=N && N<=20)) {rowC = (N%2)? N/2+1: N/2;show_n_char(N, C);putchar('\n');for(int i = 2; i < rowC; i++) {putchar(C);show_n_char(N-2, ' ');putchar(C);putchar('\n');}show_n_char(N,C);putchar('\n');}return 0; }

思考

最近在看晴神的《算法筆記》,在書上看這題的樣例輸出,好像每兩行中間都有一個空行似的,碼完代碼去PAT上跑了一下,得到的結果居然是“多種錯誤”……當時我就淚奔了-_-||
用鼠標在網頁的樣例輸出上框選了一下,這才看到原來中間是沒有空行的……唉

另外一個問題就是,由于看了書里前面黑盒測試部分,于是我在這里加上了while(scanf("%d %c", &N, &C) != EOF),假想測試會輸入多組數據?但好像也沒看到哪有說。
然后,輸入N的大小范圍是 \(3\le N \le 20\),于是我也加上了大小判斷,最后變成了 while(scanf("%d %c", &N, &C) != EOF && (3<=N && N<=20)) {},不知道會不會顯得多余……

轉載于:https://www.cnblogs.com/4thirteen2one/p/9313865.html

總結

以上是生活随笔為你收集整理的[PAT B1036]跟奥巴马一起编程(15分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。