使用VFP编程输出如下*星形图案。如何编写????

 我来答
sheyp2010
2012-01-03 · TA获得超过108个赞
知道答主
回答量:66
采纳率:0%
帮助的人:72.2万
展开全部
我调试过的
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SYJ04
推荐于2018-04-24 · TA获得超过814个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:227万
展开全部
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
追问
图形出来了,很符合题意,这个好复杂,没看懂。能不能加些注释。谢谢了。
追答
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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whql3
2012-01-03 · TA获得超过5131个赞
知道大有可为答主
回答量:5379
采纳率:0%
帮助的人:1099万
展开全部
最简单最笨的办法:
设置一个循环,例如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就行了
这时还需要定位,加空格,
还要再加一个循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式