2014-11-13 34 views
1

我是C++中的新手,在我的第一個小項目中讓我頭疼。如何計算區間[a,b]

如果我正確理解了pbolem,我需要知道區間[a,b]的總和,它應該是: 17 + 18 + 19 + 20 + 21 ..... + 52 =? (糾正我,如果我錯了!) 我試着用while,do-while和它們都結束了一個無限循環,所以現在我正在嘗試for循環,這讓我只是增加了一個值,直到達到52。

#include <iostream> 

int main(int argc, char* argv[]) 
{ 
    const int a = 17; 
    const int b = 52; 

    int summe = 0; 

    for(summe = a; summe <=b; summe++) 

    std::cout << "Summe: " << summe << "\n"; 

    return 0; 
} 
+0

您需要兩個變量:一個是迭代器變量,用於計算要添加的數字,另一個用於包含迄今爲止的總和。 – Rup

回答

6

你的代碼只是轉儲你期望總結的數字,但你忘了總結他們!

int main(int argc, char* argv[]) 
{ 
    const int a = 17; 
    const int b = 52; 

    int summe, number; 

    for(summe = 0, number = a; number <= b; number++) 
     summe += number; 

    std::cout << "Summe: " << summe << "\n"; 

    return 0; 
} 
2

或者更簡單的方法:根本沒有環路!

int a = 17; 
int b = 52; 
int sum = (a + b) * (b - a + 1)/2.0 
相關問題