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