主题:菜鸟提问 QB输出三角图形的问题
zongzong
[专家分:0] 发布于 2006-12-25 20:46:00
0 [color=0000FF] *
***
*****
** **
*** ***
** **
*****
***
*[/color]
这个图形怎么编阿
请教各位 谢谢
最后更新于:2006-12-25 20:53:00
回复列表 (共13个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2006-12-25 21:56:00
要求这个图形满足什么规律?
不说清楚的话直接?了
板凳
我白芦花 [专家分:190] 发布于 2006-12-25 22:05:00
print"0 *"
print" *** "
print" *****"
print" ** **"
print" *** ***"
print" ** **"
print" *****"
print" ***"
print" *"
3 楼
冷石_jasv [专家分:1570] 发布于 2006-12-26 08:33:00
一般来说.楼上的算法(姑且说它是算法)....速度是N快地....效率是N高地.....
4 楼
zongzong [专家分:0] 发布于 2006-12-26 17:23:00
[quote]要求这个图形满足什么规律?
不说清楚的话直接?了[/quote]
就这个个图形 不能用Print直接打 一排一排输出阿
因该循环语句能解决 小弟就是想不出阿
5 楼
雪光风剑 [专家分:27190] 发布于 2006-12-28 07:04:00
那就定义一个数组
空格是0星号是1
判断着打呗
6 楼
gyly001 [专家分:0] 发布于 2007-02-01 19:29:00
看看这个程序行不行?
7 楼
强强 [专家分:4740] 发布于 2007-02-18 14:19:00
定义一个数组打印出来是不和上面的程序换汤不换药吗,谁知道算法也给我讲讲,想了半天没想出来
8 楼
JRX [专家分:180] 发布于 2007-03-11 19:58:00
编了一个N行的,也不知道楼主的意思是不是这个,不是我再改改
CLS
INPUT "N="; N
FOR I = 1 TO (N + 1) \ 2
FOR J = 1 TO (N + 1) \ 2 - I
PRINT " ";
NEXT J
IF I <> (N + 1) \ 2 AND I <> (N + 1) \ 2 - 1 THEN
FOR J = 1 TO I * 2 - 1
PRINT "*";
NEXT J
ELSE
FOR J = 1 TO I - 2
PRINT "*";
NEXT J
PRINT " ";
FOR J = 1 TO I - 2
PRINT "*";
NEXT J
END IF
PRINT
NEXT I
FOR I = N \ 2 TO 1 STEP -1
FOR J = 1 TO (N + 1) \ 2 - I
PRINT " ";
NEXT J
IF I <> N \ 2 THEN
FOR J = 1 TO I * 2 - 1
PRINT "*";
NEXT J
ELSE
FOR J = 1 TO I - 2
PRINT "*";
NEXT J
PRINT " ";
FOR J = 1 TO I - 2
PRINT "*";
NEXT J
END IF
PRINT
NEXT I
END
9 楼
冷石_jasv [专家分:1570] 发布于 2007-03-12 09:22:00
经过了最近几天的地图编辑器的编写(45度角的,正方型的相对简单些)...
当然...依然没写成功.....^-^|
我总算明白了当年教BASIC的课本上为什么有这些输出*号的题目了
为了培养一个人处理数据的基本能力
后悔啊..当年为什么不老老实实的去学好<<数据结构>>这本书......
奉劝各位..这种题目还是自己去解决.....不然basic还真是白学了
10 楼
GGbond [专家分:60] 发布于 2007-03-23 19:08:00
上面几位的方法要么不现实,要么太麻烦
CLS
INPUT m
?"0";
FOR i = -m TO m: q = ABS(i)
PRINT TAB(q + 1);
FOR j = -(m - q) TO m - q
IF q < (m + 1) \ 2 AND ABS(j) < (m + 1) \ 2 THEN PRINT " "; ELSE PRINT "*";
NEXT j: PRINT
NEXT i
END
我来回复