2015-10-14 60 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