2015-06-03 90 views
0

所以我非常接近,但我繼續得到錯誤的值。假設用戶輸入一個正整數,並假設在它們之間添加所有整數。因此,如果用戶輸入5,它應該等於15,10等於55等,但我得到5 = 25,10,100。(Visual Basic)通過2個數字的整數總和

更改爲十進制,看看是否有任何東西,而不是整數,仍然沒有任何東西。我看到了一些設置decCount = 1的事情。那麼這個數字是否接近但仍然不存在。

Dim decSum As Decimal = 0 
    Dim decNumber As Decimal = 0 
    Dim decCount As Decimal = 0 
    Dim strUserInput As String 

    strUserInput = InputBox("Enter a positive integer value.", "Input Needed", 0) 


    If Decimal.TryParse(strUserInput, decNumber) And (decNumber >= 0) Then 
     Do While decCount < decNumber 
      decSum = decSum + decNumber 
      decCount = decCount + 1 
     Loop 
    Else 
     MessageBox.Show("Enter a positive numeric value") 
    End If 




    MsgBox("The sum of the numbers 1 through " & decNumber & " is " & decSum) 

回答

0

您正試圖計算給定輸入的因子,但在你的循環中,您反覆添加相同的號碼(實際上,您是通過自身相乘的數量,而不是找到階乘)。

改變這一行:

decSum = decSum + decNumber

這樣:

decSum = decSum + decCount

+0

哇......這解釋了這麼多。謝謝。還要補充,我也忘了添加一個= decCount user3674894