作者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/cn.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