2017-04-03 27 views
-1

我試圖找到解決此編碼問題的方法: 創建一個for循環,該循環將以值5開始並以值25結尾。在每次迭代中,將遞增值添加到mathTotal。 (提示:在循環內使用的最後一個值應該是25)在objective-c中爲循環結束增加一定數量

但我能想到的做法返回的最終數字爲mathTotal爲26.我不確定如何操作代碼停止在25而實際上並沒有計算出數字來確定程序停止運行的條件。

這是我有:

int mathTotal; 

for(int i = 5; mathTotal <=25; i++) { 
    mathTotal = mathTotal + i; 
} 

我知道這是一個簡單的問題,但我學習如何編寫,不希望繼續前進,而不完全理解的東西。

謝謝!

+1

你爲什麼使用mathTotal <= 25?你應該使用我<= 25? for(int i = 5; i <= 25; i ++){mathTotal = i ++; } –

+0

BTW:高斯告訴我們,它是'(min + max)*(max-min + 1)/ 2'。當他是一個九歲的男孩。 –

+0

當我讓我<= 25時,代碼停止時,我是25,但問題是專門要求停止代碼時,mathTotal是25 –

回答

3

主要有兩大問題:

  1. mathTotal未初始化。你必須設定一個初始值。

    int mathTotal = 0; 
    
  2. 上緣(for循環的第二個參數)被定義爲mathTotal <= 25 - 而不是i <= 25 - 這將是到達時i爲8

    for (int i = 5; i <=25; i++) { 
        mathTotal = mathTotal + i; 
    } 
    
+0

你是對的..我應該自己想出來......但是謝謝你! –

0

傳統的用於在Objective-C環由標準C繼承和採用以下形式:

for (/* Instantiate local variables*/ ; /* Condition to keep looping. */ ; /* End of loop expressions */) 
{ 
// Do something. 
} 

例如,爲了從1打印數爲10,則可以使用用於循環:

for (int i = 1; i <= 10; i++) 
{ 
NSLog(@"%d", i); //do something 
} 

這在邏輯上equivilant以下爲傳統循環:

for (int i = 0; i < [yourArray count]; i++) 
{ 
NSLog([myArrayOfStrings objectAtIndex:i]); 
} 

你懷疑

int mathTotal = 0; 

for (i = 5 = 0; i <=25 ; i++) 
{ 

mathTotal = mathTotal + i; 
}