主题:请大家帮我编写打印出如下图形的程序!
ZQH123
[专家分:0] 发布于 2005-12-06 15:52:00
9
8 7 8
7 6 5 6 7
6 5 4 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 2 3 4
3 2 1 2 3
2 1 2
1
回复列表 (共6个回复)
沙发
wanggcc [专家分:1450] 发布于 2005-12-06 16:41:00
眼睛有点花,刚看出规律,从下往上一圈一圈的排数
板凳
飞鸟12 [专家分:2830] 发布于 2005-12-07 09:11:00
dd$ = "9876543212345678"
FOR i = 1 TO 4
PRINT SPC(5 - i); MID$(dd$, i, i); MID$(dd$, 20 - 2 * i, i - 1)
NEXT i
FOR i = 1 TO 5
PRINT SPC(i - 1); MID$(dd$, i + 4, 11 - 2 * i)
NEXT i
END
不过说实话 我觉得这样的程序实在没什么意义
我的实现方法也是投机取巧的
3 楼
ZQH123 [专家分:0] 发布于 2005-12-19 16:30:00
谢谢!
能否用一个双重循环编写?
4 楼
moz [专家分:37620] 发布于 2005-12-19 20:12:00
FOR i = 9 TO 1 STEP -1
PRINT chr$(10);SPACE$(ABS(5 - i) * 3);
k = 0
FOR j = i TO i
PRINT j;
IF j = i - (5 - ABS(5 - i)) + 1 THEN k = 1
IF k = 0 THEN j = j - 2
NEXT j,i
5 楼
zhangyang9007 [专家分:80] 发布于 2006-01-19 18:58:00
这种题目最好用双重循环
dim i as integer
for i=1 to 5
print tab(18-3*i);
for j=1 to i
print 11-i-j;
next j
for j=i-1 to 1 step-1
print 11-i-j;
next j
next i
for i=4 to 1 step-1
print tab(18-3*i);
for j=1 to i
print 11-i-j;
next j
for j=i-1 to 1 step-1
print 11-i-j;
next j
next i
end
整个程序的思路:先将它分成上下两部分,然后再将上下两部分分成左右两部分.
我来回复