Re: [請益] 想問一題很基本的程式問題

作者: elvispoetic (RESTful Web Services)   2019-08-23 09:34:28
※ 引述《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 的字元,這十五個字元包含「空白字元、星號、換行
字元」,如果把它依序寫下來的話會是
_ _ * + _ * * * + * * * * * +
註:上面用底線表示空白字元,加號表示換行字元
順著這個思路你就可以寫出一個迴圈的寫法了
作者: deray (Deray)   2019-08-23 09:59:00
我還是覺得2篇寫法比較好 不服來戰
作者: alog (A肉哥)   2019-08-23 10:15:00
第二篇表達出了 平民們想簡單易記 能解決就行 求個溫飽的走跳哲學第四篇則是在當年準備維護你職場前輩留下的神級 source code維護時 發現不僅思路清晰 還性能兼具 節省記憶體 且自帶 obfuscate 效果不禁感嘆,為什麼不留下一個註解,只好傻在螢幕前。小聲的說:幹,這是在寫三小
作者: DCTmaybe (竹竹人)   2019-08-23 10:34:00
樓上實在很有道理
作者: william81615 (別這樣玩我)   2019-08-23 10:56:00
不能同意alog大更多了
作者: iamyiz (Gigahertz)   2019-08-23 11:04:00
2樓XDDDD
作者: KEYork (York)   2019-08-23 11:15:00
推2樓
作者: laputaflutin (很恐怖,不要問)   2019-08-23 11:33:00
推2樓XD
作者: cutekid (可愛小孩子)   2019-08-23 12:17:00
推 alog (Y)
作者: a7904120 (pubear)   2019-08-23 13:00:00
推二樓
作者: dogalan (Emotion)   2019-08-23 17:16:00
2樓XDDD
作者: Nitricacid (硝酸酸)   2019-08-23 19:48:00
二樓 XDDD
作者: louise13 (*-/0%$^$#@@!#%^)   2019-08-23 20:00:00
我要二樓的前輩,四樓的改不動也不敢罵,這樣考核很低分二樓就是神一樣存在的前輩,兼具頂包效果
作者: Csongs (西歌)   2019-08-23 23:13:00
寫code要考慮同事QQ
作者: viper9709 (阿達)   2019-08-23 23:51:00
推二樓XD
作者: WunoW (WunoW)   2019-08-24 02:44:00
想當初剛入職場也是乖乖寫註解給其他人方便 後來就都不寫了

Links booklink

Contact Us: admin [ a t ] ucptt.com