2014-05-22 60 views
-7

我試圖做一個代碼,每次a + b達到20時能夠增加int'd'。爲什麼我得到這個錯誤的結果?

如果仍然有小於20的數字,那麼這將是int' C'。

而是獲得正確的結果在我的下一個計劃是

49-0 

我得到這個錯誤的答案

47-40 

我應該怎麼辦?

#include <iostream> 
using namespace std; 
int main(){ 
    int a=50; 
    int b=18; 
    int c=a+b; 
    int d=0; 
    int i; 
for(i=0;i<c;i++) 
    { 
    while(c>20) 
    { 
    d+=1; 
    c=c-20; 
    break; 
    }} 
    cout<<d<<"-"<<c; 
return 0; 
} 
+0

請參閱http://meta.stackexchange.com/questions/40164/should-we-close-fix-my-program-questions – sashoalm

回答

2

的問題是在你的while循環:

while(c > 20) 
{ 
    d+=1; 
    c=c-20; 
    break; 
} 

循環只會因爲你的break語句的執行一次。

+0

當我刪除break語句時,它給了我48-20,而正確答案是49 -0 – user3666894

+0

你可能想'while(c> = 20)' –

+0

非常感謝你 – user3666894

相關問題