2015-10-14 129 views
-1

该程序应该首先要求我输入多少次它应该问我两个数字。在给出两个数字后,它应该找到它们的LCM,并按照我在开始时输入的次数进行操作。找到两个数字的LCM

它打开并等待我给出数字,什么都不做。

#include <iostream> 

using namespace std; 

int ile ; 
int grupa1, grupa2 ; 
int wynik ; 
int dzielnik = 0; 

int main() 
{ 
    cin >> ile ; 
    for (int i=0; i <= ile ; i++) 
    { 
     cin >> grupa1 >> grupa2 ; 
     do 
     { 
      do 
      { 
       dzielnik ++ ; 
       } while ((dzielnik % grupa1 != 0 && dzielnik % grupa2 !=0)  || dzielnik < grupa1 + grupa2) ; 

       if (dzielnik % grupa1 == 0 && dzielnik % grupa2 == 0) 
      { 
      grupa1 = grupa1/dzielnik ; 
      grupa2 = grupa2/dzielnik ; 
     } 
     else if (dzielnik >= grupa1 + grupa2) 
     { 
      wynik = grupa1 * grupa2 ; 
      cout << wynik ; 
     } 
    } 
    while (wynik == grupa1 * grupa2) ; 
    dzielnik = 0; 
} 
return 0; 

}

回答

0

cout被缓冲并且将不显示任何东西,直到它具有:1)被提供了足够的数据,或2)被刷新。

改变这一行:

cout << wynik ; 

要这样:

cout << wynik << endl; 

,你应该看到一些输出。


此外,你应该考虑修复你的缩进。目前这很容易让人误解。主for排队与while和内部do排队与else if