主题:[讨论]空心三角形!!!
木偶之舞
[专家分:60] 发布于 2007-12-25 21:15:00
*
***
*****
*******
* *
*** ***
***** *****
******* *******
* * *
*** *** ***
***** ***** *****
******* ******* *******
* * * *
*** *** *** ***
***** ***** ***** *****
****************************
n=4时
怎么编呀??????????!!!!!!!
[em18]
回复列表 (共8个回复)
沙发
lu1012 [专家分:20] 发布于 2007-12-30 16:23:00
最后一行好像少了一个三角形!
板凳
神的思想 [专家分:80] 发布于 2008-02-05 20:13:00
CLS
INPUT N
FOR S = 1 TO N
FOR I = 1 TO N
FOR K = 1 TO S
PRINT TAB((((40 + N) - (S * N)) - I) + ((K - 1) * (N * 2)));
FOR J = 1 TO 2 * I - 1
PRINT "*";
NEXT J
NEXT K
PRINT
NEXT I
NEXT S
END
3 楼
hqm1 [专家分:570] 发布于 2008-04-04 22:04:00
CLS
INPUT N
FOR I = N TO 1 STEP -1
FOR J = N TO 1 STEP -1
PRINT TAB((I - 1) * N + J);
FOR K = 1 TO N + 1 - I
PRINT STRING$((N - J) * 2 + 1, "*");
PRINT SPC(J * 2 - 1);
NEXT K: PRINT
NEXT J, I
END
4 楼
木偶之舞 [专家分:60] 发布于 2008-05-04 21:43:00
能不能给个解释,一个比一个复杂,看不懂!
5 楼
flyinggoon [专家分:110] 发布于 2008-05-13 12:22:00
'本人学编了一个小程序,代码真的很短呀,但不知道是不是最简的。
CLS
FOR i = 4 TO 1 STEP -1 '从左到右,斜着看,共分成4批三角形
kh = (4 - i) * 4 + 1: kl = 40 + (4 - i) * 4 '每批三角形的起点
LOCATE kh, kl '调用locate函数,光标定位
FOR j = 1 TO i '确定每批三角形的三角形数
FOR k = 1 TO 4 'k、p两重循环完成打印一个完整三角形的目的
kh = kh + 1: kl = kl - 1: LOCATE kh, kl '每打印一行,行递增、列递减
FOR P = 1 TO 2 * k - 1: PRINT "*"; : NEXT P: PRINT
NEXT k: INPUT kkk '此处故意加一个无用的输入等待,目的是让测试者用F8单步执行,看出我程序的运行过程
NEXT j
NEXT i
END
6 楼
Mato完整版 [专家分:1270] 发布于 2008-05-13 22:15:00
INPUT n
CLS
FOR i = 1 TO n * n
s0 = i MOD n: IF s0 = 0 THEN s0 = n
IF s0 = n THEN s00 = i / n - 1 ELSE s00 = i \ n
s1$ = STRING$((s0) * 2 - 1, "*")
s2$ = SPACE$((n - s0) * 2 + 1)
PRINT TAB(n * n + 1 - i);
PRINT s1$;
FOR j = 1 TO s00: PRINT s2$; s1$; : NEXT j: PRINT
NEXT i
END
7 楼
moz [专家分:37620] 发布于 2008-05-14 00:11:00
给你们的建议:不要为考试而学习.
学习的目的是看见问题,分析问题,解决问题,从而提升个人的学习能力.
8 楼
flyinggoon [专家分:110] 发布于 2008-05-14 09:50:00
看来MOZ更强,MOTO完整版更牛,他们都有值得我学习的地方。
我来回复