C语言编写一个子函数,能将主函数输入的任何整数的所有素数因子都打印出来
时间: 2024-11-24 19:43:21 浏览: 7
51CTO下载-2009南开二级C语言上机改错100题.doc
在C语言中,我们可以编写一个子函数来找到并打印整数的所有质因子。首先,我们需要一个辅助函数`is_prime()`用于检查是否一个数是质数,然后在主函数中调用这个子函数处理输入的整数。以下是实现这一功能的一个示例:
```c
#include <stdio.h>
// 辅助函数,判断是否为质数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0; // 如果有因子,不是质数
}
return 1; // 没有因子,是质数
}
// 主函数,找出并打印所有质因子
void print_prime_factors(int n) {
printf("Prime factors of %d:", n);
for (int i = 2; i <= n; i++) { // 从2开始遍历到n
while (n % i == 0 && is_prime(i)) { // 只打印质因数
printf(" %d", i);
n /= i; // 更新n
}
}
printf("\n");
}
int main() {
int input_number;
printf("Enter an integer: ");
scanf("%d", &input_number);
// 调用子函数打印质因子
print_prime_factors(input_number);
return 0;
}
```
阅读全文