2014-03-31 70 views
-2

我正在寫一個簡單的程序,通過Linux重定向找到整數列表的因子。我差不多完成了,但我被困在一個部分。這是到目前爲止,我的程序:C++因子程序:輸出因子數

#include<iostream> 
using namespace std; 
int main() 

{ 
int counter = 0; 
int factor; 
cin >> factor; 

while (cin) 
{ 
if (factor < 0) 
break; 
cout << "The factors of " << factor << " are " << endl; 
for(int i=factor; i>=1; i--) 
if (factor % i == 0) 
    { 
    counter++; 
    cout << i << endl; 
    } 
cout << "There are " << " factors." << endl; 
cout << endl; 
cin >> factor; 
} 
return 0; 
} 

現在我的問題是,在該行 「COUT < < 」有「 < <」 因素 「< < ENDL;」。我不知道如何計算該程序輸出的因子數量。

例如:

7的因素是

有2個因素。

在這個例子中,我將如何計算和輸出「2」。

非常感謝幫助。

+1

我認爲你是從其他人那裏複製一個簡單的程序,因爲你不可能自己寫上面的代碼*不知道你已經存儲了你想要的信息。 –

+0

另外WTH是「Linux重定向」? –

+0

嗯,我的講義中有類似於這個程序的例子,但是我很難解決這個問題。我不確定你爲什麼如此快地指責我抄襲他人的代碼。 – user3409117

回答

0

而不是

cout << "There are " << " factors." << endl; 

使用

cout << "There are " << counter << " factors." << endl; 

如果你這樣做,你必須移動你定義counter行。

而不是它作爲main中的第一行,它需要被移動到while循環中的第一行。

+0

我已經試過,但它不起作用。 – user3409117

+0

沒關係。我忘了將它移到第一行。它解決了。感謝您的幫助! – user3409117