用于模式设计的vbscript代码

时间:2010-08-10 14:07:36

标签: vbscript

任何人都可以帮助我使用我正在努力做的vb代码。在编程方面,我只是一个新手。

运动说: 从用户获取整数n,根据用户输入在屏幕上打印出以下模式 模式1 - 当n为3时,总共有5行 模式2 - 当n为4时,总共有7行

在输出模式中,1应该如下所示

  *
 ***
*****
 ***
  *

2 个答案:

答案 0 :(得分:1)

分裂和征服是解决这些问题的方法,就像大多数计算问题一样。

因此将您的任务分解为子问题。我可以看到三个子问题:

计算行数

创建一个以 n 作为输入的函数,并返回总行数。我会让你决定这个的逻辑,也许你可以扩展它,以便它适用于更广泛的数字?或许返回值背后隐藏着一个隐藏的公式或特定的逻辑?或者perhps你只需要一个选择案例陈述。

计算出最大的线宽

考虑如何在逻辑上解决这个问题,在这一步之后你需要了解什么才能继续?我想你需要弄清楚中间行的宽度是多少。那将是一个很好的起点。我们知道调用前一个函数的最大线宽,这是我们计算出最大线宽所需的所有信息。

打印生成的图片

根据您之前编写的函数以及中间行的最大大小,您现在知道此图片中的行数。您现在应该能够循环打印正确的字符,但是您必须弄清楚如何填充空格以正确对齐字符。

答案 1 :(得分:0)

输入设置钻石的中点(峰值)

' Building up to the peak
for (i = 1, i <= input, i++)
{

dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots) / 2
wscript.echo spaces & dots & spaces

}

' On the way back down
for (i = (input - 1), i > 1, i--)
{
dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots) / 2
wscript.echo spaces & dots & spaces

}

for循环需要从C风格调整,但内容应该按原样运行。