# C++ 程序：显示数字的因数

> 原文： [https://www.programiz.com/cpp-programming/examples/factors-number](https://www.programiz.com/cpp-programming/examples/factors-number)

#### 使用`for`循环和`if`语句查找整数（由用户输入）的所有因数的示例。

要理解此示例，您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题：

*   [C++ `for`循环](/cpp-programming/for-loop) 
*   [C++ `if`，`if...else`和嵌套`if...else`](/cpp-programming/if-else)

* * *

该程序从用户处获取一个正整数，并显示该数字的所有因数。

* * *

## 示例：显示数字的所有因数

```cpp
#include <iostream>
using namespace std;

int main()
{
    int n, i;

    cout << "Enter a positive integer: ";
    cin >> n;

    cout << "Factors of " << n << " are: " << endl;  
    for(i = 1; i <= n; ++i)
    {
        if(n % i == 0)
            cout << i << endl;
    }

    return 0;
} 
```

**输出**

```cpp
Enter a positive integer: 60
Factors of 60 are: 1 2 3 4 5 6 12 15 20 30 60

```

在该程序中，用户输入的整数存储在变量`n`中。

然后，以初始条件`i = 1`执行`for`循环，并检查`n`是否可被`i`完全整除。 如果`n`可被`i`完全整除，则`i`将是`n`的因数。

在每次迭代中，`i`的值都会更新（增加 1）。

该过程一直进行到测试条件`i <= n`变为假，即该程序检查用户`n`输入的数字是否可以从 1 到`n`的所有数字中完全除尽，并且显示该数字的所有因数。