2014-05-22 2 views
-7

나는 하나마다 INT'D '를 증가 할 수있는 코드를 만들기 위해 노력하고있어 A + B는 20왜이 잘못된 결과가 나옵니까? '

에 도달하고 수 20 명 미만 후 여전히하다면 이것은 INT 될 것입니다 기음'.

대신

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 문을 제거했을 때 올바른 답이 49 인 반면 48-20을주었습니다. -0 – user3666894

+0

아마도 'while (c> = 20)' –

+0

정말 고마워요. – user3666894

관련 문제