永发信息网

vbscript 菱形显示不完美,歪了,没对齐。

答案:1  悬赏:10  手机版
解决时间 2021-04-25 08:07
  • 提问者网友:皆是孤独
  • 2021-04-24 17:11


<script language="vbscript" >
sub hh()
dim row,cols,i,j,spa
dim outputstring
for row=1 to 7
if row<7/2 then
cols=row*2-1
else
cols=(7-row)*2+1
end if

spa=(7-cols)/2+1
for j=0 to spa
outputstring=outputstring & " "
next

for i=1 to cols
outputstring=outputstring & "*"
next
outputstring=outputstring & chr(10)
next
msgbox outputstring

end sub

</script>
<form name="aa">
<input name="calculate" type="button" value="菱形" onclick="hh">
</form>

最佳答案
  • 五星知识达人网友:行雁书
  • 2021-04-24 17:25

你知道为什么不对齐吗?


因为你的程序是按照空格和*号的数量的等比来排列的


但是用类似alert或msgbox显示出来的对话框,空格字符和*字符的宽度是不一样的


所以就不会对齐了,你可以试试我改的字符你看看就明白了



<script language="vbscript" >
sub hh()
dim row,cols,i,j,spa
dim oStr


for row=1 to 7
'计算当前第几行
if row<7/2 then
cols=row*2-1
else
cols=(7-row)*2+1
end If

'计算前面空格数
spa=(7-cols)/2


'前面的空格
for j=0 to spa
oStr=oStr & "#"
'oStr=oStr & "-"If row<>4 Then oStr=oStr & " "
next
'累加*号
for i=1 to cols
oStr=oStr & "="
Next
'输出
oStr=oStr & chr(10)
Next


msgbox oStr


end sub



hh()
</script>


<form name="aa">
<input name="calculate" type="button" value="菱形" onclick="hh">
</form>

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯