主题:QB71 快进来啊 出人命啦
影子鬼
[专家分:0] 发布于 2005-06-07 19:16:00
9总是跑到前面来 这是个对称图形
9
989
98789
9876789
98789
989
9
刚才弄错了 是这样的。。。。
用双重循环做啊~QB71帮忙。。。谢谢
回复列表 (共7个回复)
沙发
QB71 [专家分:1300] 发布于 2005-06-08 01:24:00
请看帖子:高手请来指点一下
板凳
麦鸟 [专家分:220] 发布于 2005-07-03 18:53:00
数学方法 :
CLS
INPUT "Line number"; x '有一个缺点,x最大只能取7不然会溢出
length = 2 * x - 1
CLS
FOR i = 1 TO x
multione1@ = (10 ^ i - 1) / 9
multione2@ = (10 ^ (2 * i - 1) - 1) / 9
value@ = multione2@ * 10 - multione1@ ^ 2
k$ = LTRIM$(STR$(value@))
LOCATE , (length - LEN(k$)) / 2 + 1
PRINT k$
NEXT
FOR i = x - 1 TO 1 STEP -1
multione1@ = (10 ^ i - 1) / 9
multione2@ = (10 ^ (2 * i - 1) - 1) / 9
value@ = multione2@ * 10 - multione1@ ^ 2
k$ = LTRIM$(STR$(value@))
LOCATE , (length - LEN(k$)) / 2 + 1
PRINT k$
NEXT
END
RUN (QBasic时代谁还用RUN啊)
Line number?7
3 楼
麦鸟 [专家分:220] 发布于 2005-07-03 19:01:00
(接上楼,第6和第8行贴出时有些不对劲)
9
989
98789
9876789
987656789
98765456789
9876543456789
98765456789
987656789
9876789
98789
989
9
4 楼
moz [专家分:37620] 发布于 2005-07-03 21:52:00
发贴时需要注意一点的是
1. 第一行前面的空格会被系统全部删掉
(所以你的9就算放在中间也会跑到最前面去)
2. 其他行行首如果只有一个空格的话也会自动被删掉
(所以行的前面如果要加空格就最少要有两个或以上)
如果只是图形的要求的话,
程序中不要用数字值来做
改用字符来写就不会溢出了.
虽然没有什么实际意义
还是鼓励大家多练练手力吧.
5 楼
88324837 [专家分:490] 发布于 2005-07-04 09:12:00
a$="9876789"
c=len(a$)
for b=1 to c
d=c\2
print left$(a$,d);right$(a$,c-d)
next b
end
6 楼
moz [专家分:37620] 发布于 2005-07-04 11:54:00
单从表面上看,
我觉得楼上的程序实现不了效果的.
看这些程序多了,也就无言
希望大家有条件的多用QB运行一下
只有从错误中才能学习到更多的细节.
defint a-z
a$="9876543210123456789"
k=1
x=1
do
print spc(20-x);left$(a$,x);right$(a$,x-1)
if x=7 then k=-1
x=x+k
loop while x
7 楼
LSQ [专家分:220] 发布于 2005-07-06 17:43:00
谢谢影子鬼,这一题我正好也要问。
我来回复