使用VFP编程输出如下*星形图案。如何编写????
3个回答
展开全部
我调试过的
clear
for i=1 to 4 &&先输出上面4行
??space(4-i)
for j=1 to 2*i-1
?? "*"
endfor
?
endfor
for i= 1 to 3 && 再输出下面3行
??space(i)
for j=1 to 5-2*(i-1)
??"*"
endfor
?
endfor
clear
for i=1 to 4 &&先输出上面4行
??space(4-i)
for j=1 to 2*i-1
?? "*"
endfor
?
endfor
for i= 1 to 3 && 再输出下面3行
??space(i)
for j=1 to 5-2*(i-1)
??"*"
endfor
?
endfor
追问
图形出来了,可是星与星之间还存在空格。你想想办法改改。顺便加一些注释最好。谢谢了。
追答
星与星之间 我没设置空格,哪来的空格。
clear
for i=1 to 4 &&先输出上面4行
??space(4-i) &&输出每行的空格
for j=1 to 2*i-1
?? "*" &&输出每行的星号
endfor
?
endfor
for i= 1 to 3 && 再输出下面3行
??space(i) &&输出每行的空格
for j=1 to 5-2*(i-1)
??"*" &&输出每行的星号
endfor
?
endfor
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CLEAR
g=-1
gkz=2
FOR i=1 TO 7
IF i<=4
gkz=2
ELSE
gkz=-2
ENDIF
g=g+gkz
? REPLICATE("* ", g) at 10-g
ENDFOR
g=-1
gkz=2
FOR i=1 TO 7
IF i<=4
gkz=2
ELSE
gkz=-2
ENDIF
g=g+gkz
? REPLICATE("* ", g) at 10-g
ENDFOR
追问
图形出来了,很符合题意,这个好复杂,没看懂。能不能加些注释。谢谢了。
追答
CLEAR
g=-1 && *号个数
gkz=2 && 每行增加(减少)数
FOR i=1 TO 7 && 行数控制
IF i<=4 && 4行(包括4行)之前
gkz=2 && 每行增加2个
ELSE && 大于5行
gkz=-2 && 每行减少2个
ENDIF
g=g+gkz && 求*号个数
? REPLICATE("* ", g) at 10-g && 显示个数及位置
ENDFOR
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单最笨的办法:
设置一个循环,例如M值从(-7)到(7)步长为2的循环,
(M)的绝对值为:7,5,3,1,+1,+3,+5,+7
则(8-(M)的绝对值)分别为:
1,3,5,7,7,5,3,1
依此循环打印为:
*
***
*****
*******
*******
*****
***
*
此时又多了一个7,那么,加个判断去掉一个7就行了
这时还需要定位,加空格,
还要再加一个循环。
设置一个循环,例如M值从(-7)到(7)步长为2的循环,
(M)的绝对值为:7,5,3,1,+1,+3,+5,+7
则(8-(M)的绝对值)分别为:
1,3,5,7,7,5,3,1
依此循环打印为:
*
***
*****
*******
*******
*****
***
*
此时又多了一个7,那么,加个判断去掉一个7就行了
这时还需要定位,加空格,
还要再加一个循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询