# C 程序：显示数字因数

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

#### 在此示例中，您将学习查找用户输入的整数的所有因数。

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

*   [C 编程运算符](/c-programming/c-operators)
*   [C `if...else`语句](/c-programming/c-if-else-statement)
*   [C `for`循环](/c-programming/c-for-loop)

* * *

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

* * *

## 正整数的因数

```c
#include <stdio.h>
int main() {
    int num, i;
    printf("Enter a positive integer: ");
    scanf("%d", &num);
    printf("Factors of %d are: ", num);
    for (i = 1; i <= num; ++i) {
        if (num % i == 0) {
            printf("%d ", i);
        }
    }
    return 0;
} 
```

**输出**

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

* * *

在程序中，用户输入的正整数存储在`num`中。

重复执行`for`循环，直到`i <= num< code> is false. =>`

在每次迭代中，检查`num`是否可被`i`完全整除。`i`成为`num`的条件。

```c
if (num % i == 0) {
            printf("%d ", i);
} 
```

然后`i`的值增加 1。