主题:关于FOR循环的一个小程序???
suiyuanren
[专家分:0] 发布于 2005-03-25 18:58:00
要求输出如下效果:
5
444
33333
2222222
111111111
我的想法是这样的:
for i=1 to 5
print tab(6-i)
for j=1 to 2*i-1
print 6-i;
next
print
next
end
可是输出时,数是对的,可是对齐效果不对,请问各位高手,这个程序还应该如何修改呢??谢谢!!
回复列表 (共10个回复)
沙发
飞鸟12 [专家分:2830] 发布于 2005-03-25 19:02:00
将 数字 转换为字符串,再删去前导空格 或 直接用ASC码表示数
CLS
FOR i = 1 TO 5
PRINT TAB(6 - i);
FOR j = 1 TO 2 * i - 1
PRINT LTRIM$(STR$(6 - i)); '也可以是PRINT CHR$(6 - i + 48);
NEXT j
PRINT
NEXT i
END
板凳
suiyuanren [专家分:0] 发布于 2005-03-25 19:26:00
谢谢你!飞鸟12 :)
3 楼
阿珠 [专家分:100] 发布于 2005-03-26 16:19:00
和我的方法一样,糟了!没有表现的机会了
4 楼
88324837 [专家分:490] 发布于 2005-03-26 16:49:00
晕这个也要字符串形式,用数值的多简单啊
FOR a=5 to 1
print tab(10+a);
for b=1 to 11-2*a
print "a";
next b
print
next a
end
5 楼
飞鸟12 [专家分:2830] 发布于 2005-03-26 17:48:00
楼上的,我认为程序的正确性是最重要的,
你的程序运行后什么也没显示,拜托发程序之前先运行一下。
6 楼
qbqb [专家分:400] 发布于 2005-03-26 18:01:00
程序的正确性固然重要,但是在实际中往往要讲简便性和效绿性。
7 楼
飞鸟12 [专家分:2830] 发布于 2005-03-26 18:14:00
如果程序都不能正常运行,那“简便性和效率性”还有什么意义?
8 楼
faintzw [专家分:2660] 发布于 2005-03-26 20:58:00
楼上二位说得都很正确
CLS
FOR i = 1 TO 5
PRINT SPC(5 - i); STRING$(i * 2 - 1, CHR$(54 - i))
NEXT
那这个差不多就兼顾了吧。
另外,我纳闷为什么有那么多人放着string$函数不用
9 楼
88324837 [专家分:490] 发布于 2005-03-27 09:05:00
不好意思,看题目的时候没看清楚
for a=1 to 5
print tab(6-a);
for b=1 to 2*a-1
print chr$(54-a);
next b
print
next a
end
10 楼
suiyuanren [专家分:0] 发布于 2005-03-27 13:09:00
谢谢诸位!!![em11][em3]
我来回复