4

所以程序必须把从“x”到“y”的所有数字相加。

但它还必须显示所有添加的数字:

即 10 到 20 应该显示 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 = 165

这是我所拥有的:

Dim firstnum As Integer = Val(TextBox1.Text)
    Dim secondnum As Integer = Val(TextBox2.Text)
    Dim sum As Integer = 0


    While firstnum <= secondnum

        sum = sum + firstnum
        firstnum = firstnum + 1

        Label3.Text = firstnum & "+"

    End While


    suum.Text = "  =  " & Val(sum)
4

3 回答 3

3

具有以下内容:

Label3.Text = firstnum & "+"

每次通过循环时,您都会覆盖值。Label3您可能想要做的是将现有值与下一个数字连接起来。

这应该可以帮助您:

Label3.Text = Label3.Text & firstnum & " + "
于 2012-11-05T13:39:55.173 回答
3

林克好吗?然后你可以使用Enumerable.Rangeand Enumerable.Sum

Dim startNum = Int32.Parse(TextBox1.Text)
Dim endNum = Int32.Parse(TextBox2.Text)
Dim numbers = Enumerable.Range(startNum, endNum - startNum + 1) 'inclusive, therefore + 1
Label3.Text = String.Join(" + ", numbers)
suum.Text = numbers.Sum()
于 2012-11-05T13:44:07.993 回答
0

您的 Label3.Text 将仅包含算法末尾的最后一个数字和“+”。你应该更换

Label3.Text = firstnum & "+" 

Label3.Text = Label3.Text & firstnum & "+ "
于 2012-11-05T13:41:50.143 回答