作者elvispoetic (RESTful Web Services)
看板Soft_Job
標題Re: [請益] 想問一題很基本的程式問題
時間Fri Aug 23 09:34:28 2019
※ 引述《cutekid (可愛小孩子)》之銘言:
: 我用 C 寫
: main(void)
: {
: int n=5,k=2*n-1;
: for(int i=0;i<n*k;i++){
: if(abs(i-i/k*k-n+1)>i/k) putchar(' ');
: else putchar('*');
: if((i+1)%k==0) puts("");
: }
: }
: 執行網址: https://rextester.com/IKCI74317
補充一下這個範例的思路
一、基本的做法
會使用兩個迴圈,一個回圈控制輸出每一行,內層的迴圈(Nested Loop)則控制
每一行顯示的內容。
二、使用一個迴圈的做法
假設 N = 3
*
***
*****
那個其實你要輸出的是 15 的字元,這十五個字元包含「空白字元、星號、換行
字元」,如果把它依序寫下來的話會是
_ _ * + _ * * * + * * * * * +
註:上面用底線表示空白字元,加號表示換行字元
順著這個思路你就可以寫出一個迴圈的寫法了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 133.237.7.81 (日本)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1566524070.A.8B4.html
1F:推 deray: 我還是覺得2篇寫法比較好 不服來戰 08/23 09:59
2F:推 alog: 第二篇表達出了 平民們想簡單易記 能解決就行 求個溫飽的走 08/23 10:15
3F:→ alog: 跳哲學 08/23 10:15
4F:→ alog: 第四篇則是在當年準備維護你職場前輩留下的神級 source code 08/23 10:15
5F:→ alog: 維護時 發現不僅思路清晰 還性能兼具 節省記憶體 且自帶 obf 08/23 10:15
6F:→ alog: uscate 效果 08/23 10:15
7F:→ alog: 不禁感嘆,為什麼不留下一個註解,只好傻在螢幕前。小聲的 08/23 10:16
8F:→ alog: 說:幹,這是在寫三小 08/23 10:16
9F:推 DCTmaybe: 樓上實在很有道理 08/23 10:34
10F:推 william81615: 不能同意alog大更多了 08/23 10:56
11F:推 iamyiz: 2樓XDDDD 08/23 11:04
12F:推 KEYork: 推2樓 08/23 11:15
13F:推 laputaflutin: 推2樓XD 08/23 11:33
14F:推 cutekid: 推 alog (Y) 08/23 12:17
15F:推 a7904120: 推二樓 08/23 13:00
16F:推 dogalan: 2樓XDDD 08/23 17:16
17F:推 Nitricacid: 二樓 XDDD 08/23 19:48
18F:→ louise13: 我要二樓的前輩,四樓的改不動也不敢罵,這樣考核很低分 08/23 20:00
19F:→ louise13: 二樓就是神一樣存在的前輩,兼具頂包效果 08/23 20:00
20F:推 Csongs: 寫code要考慮同事QQ 08/23 23:13
21F:推 viper9709: 推二樓XD 08/23 23:51
22F:→ WunoW: 想當初剛入職場也是乖乖寫註解給其他人方便 後來就都不寫了 08/24 02:44