2010-08-10 25 views
0

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

练习说: 获得从用户的整数n,打印出根据用户输入在屏幕上下面的图案 模式1 - 当n是3时,有5行总 图案2 - 时,n为4,有7排共计

在输出模式1应该是这样的

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

回答

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风格的微调的中点(峰值),但内容应该工作原样。