用于图案设计的vbscript代码
有谁能帮我一个vb代码,我正在努力做。说到编程,我只是个新手 练习说: 从用户处获取整数n,根据用户输入在屏幕上打印以下图案 模式1-当n为3时,总共有5行 模式2-当n为4时,总共有7行 在输出模式中,1应该是这样的用于图案设计的vbscript代码,vbscript,Vbscript,有谁能帮我一个vb代码,我正在努力做。说到编程,我只是个新手 练习说: 从用户处获取整数n,根据用户输入在屏幕上打印以下图案 模式1-当n为3时,总共有5行 模式2-当n为4时,总共有7行 在输出模式中,1应该是这样的 * *** ***** *** * 与大多数计算问题一样,分而治之是解决这些问题的方法 所以把你的任务分成几个子问题。我可以看到三个子问题: 计算行数 创建一个以n作为输入的函数,并返回总行数。我将让你来决定这个逻辑,也许你可以扩展它,使它适用于更广泛的数字范围?也
*
***
*****
***
*
与大多数计算问题一样,分而治之是解决这些问题的方法 所以把你的任务分成几个子问题。我可以看到三个子问题: 计算行数 创建一个以n作为输入的函数,并返回总行数。我将让你来决定这个逻辑,也许你可以扩展它,使它适用于更广泛的数字范围?也许在返回值后面有一个隐藏的公式或特定的逻辑?或者,您只需要一个select case语句 计算最大线宽 想一想如何从逻辑上解决这个问题,在这一步之后,您需要了解关于模式的哪些信息才能继续?我想你需要算出中间一排的宽度。这将是一个很好的起点。通过调用前面的函数,我们知道了最大线宽,这就是计算最大线宽所需的全部信息 打印生成的图片 根据前面编写的函数,您现在知道了图片中的行数,以及中间行的最大大小。你应该能够循环打印正确的字符,但是你必须找出如何填充空白空间来正确对齐字符。 输入设置菱形的中点(峰值)
' 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
}
“建设高峰
对于(i=1,i