主题:[转帖]题目
wzc1996
[专家分:1680] 发布于 2007-07-26 19:02:00
输入N,M
如:
N=3
M=3
*
***
*****
* *
*** ***
***** *****
* * *
*** *** ***
***** ***** *****
N是总行数
M是一个小三角形的行数!
来者加分!
最后更新于:2007-07-26 19:22:00
回复列表 (共2个回复)
沙发
Matodied [专家分:7560] 发布于 2007-07-26 21:58:00
CLS
INPUT n, m
s = n * 2 - 1
FOR i = 1 TO n * m
PRINT TAB((1 + n * m) - i);
k = i MOD n: IF k = 0 THEN k = n
FOR j = 1 TO k * 2 - 1: PRINT "*"; : NEXT j
q = i \ n: IF q = i / n THEN q = q - 1
FOR t = 1 TO q
FOR j = 1 TO s + 1 - (k * 2 - 1): PRINT " "; : NEXT j
FOR j = 1 TO k * 2 - 1: PRINT "*"; : NEXT j
NEXT t
NEXT i
END
加分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
板凳
Matodied [专家分:7560] 发布于 2007-07-26 22:04:00
其实这题看起来很难其实很简单,只要控制好每行的空格数和“*”的个数就可以了。
这题还可以用LOCATE语句做,就是在(n*m)*((m*2-1)*n+(n-1))的纸上画图,只要判断这个位置是“*”还是“ ”就可以了。
我也有一道字符打印的题,请楼主回答。
双向蛇形矩阵(n*n的):
比如n=5:
1 4 1 2 1
4 2 3 2 1
1 3 3 2 3
2 2 2 4 1
1 1 3 1 5
我来回复