以下是一个简单的C语言程序,用于分解质因数:
```c
#include
void primeFactors(int n) {
int i;
while (n % 2 == 0) {
printf("%d ", 2);
n = n / 2;
}
for (i = 3; i <= n; i = i + 2) {
while (n % i == 0) {
printf("%d ", i);
n = n / i;
}
}
if (n > 2) {
printf("%d ", n); // 如果是大于2的质数则直接输出该质数
}
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
printf("它的质因数分解为:");
primeFactors(num); // 调用函数进行质因数分解并输出分解结果
return 0;
}
```
这个程序首先从输入中读取一个正整数,然后调用 `primeFactors()` 函数来分解该数的质因数。该函数首先处理所有偶数因子(因为任何偶数都可以被分解为两个素数乘积),然后循环检查所有奇数因子是否为质数,直到没有因子剩下为止。如果有剩下的数字仍然是质数(即它自身大于二),那么这个数也是一个质数,我们将其直接输出。程序输出每个因子及其相应的数值大小。