2016-03-19 62 views
1

我寫了一個C++程序來打印出所有兩位數字的乘法。 我只獲得部分產品的部分輸出,而不是整個輸出。 代碼:只獲得部分輸出

int main() 
{ 
    int ans; 
    for (int i = 10; i <= 99; i++) { 
     for (int j = 10; j <= 99; j++) { 
      ans = i * j; 
      cout << ans << endl; 
     } 
    } 
    cin.get(); 
    return 0; 
} 

輸出從6816(而不是10*10=100)高達9801開始(這是99*99)。

另一方面,如果我對單個數字做同樣的處理,輸出是正確的。

+0

[無法重現](http://melpon.org/wandbox/permlink/vPv0xB9CF3sHHkWW)。嘗試增加終端軟件的緩衝區大小或使用重定向將輸出寫入文件。 – MikeCAT

+0

可能是您需要簡單地增加控制檯窗口大小。代碼沒有問題。 –

+0

@AkhileshChobey:請您點擊答案之一下面的灰色複選標記,將其標記爲已接受? – chqrlie

回答

1

除了沒有發佈#includeusing namespace std;行,您的程序沒有任何問題。

輸出長度爲8100行,您確定您可以在終端中看到所有這些行嗎?嘗試將輸出重定向到文件並將該文件加載到編輯器中以驗證行數。

3

從該程序打印的68019899(含)之間有299個數字,所以看起來您使用Windows的命令提示符來查看結果。

如果是這樣,在窗口中查看所有號碼,

  1. 右鍵單擊左上角
  2. 選擇「屬性」
  3. 選擇「佈局」選項卡
  4. 設置窗口的圖標「 「屏幕緩衝區大小」中的「高度」設置爲「9999」等大數字。

(因爲我用日本OS菜單的名稱可能不正確)

the menu

或者,你可能要使用重定向到將輸出到一個文本文件。

+0

非常感謝!是的,工作。我嘗試了一個在線編譯器,以便在那裏工作。我認爲cin.get()是造成它。謝謝反正 –

+0

剛出於好奇,爲什麼一個亞洲版的windows作爲例子SC? – alk