编写程序,实现整数的因式分解 用户从键盘中输入小于1000的整数 对其进行因式分解 结果保存在列表中 并输入因式分解式 用c语言代码编写
时间: 2024-10-16 10:14:27 浏览: 27
在C语言中,我们可以使用循环和条件判断来实现一个简单的整数因式分解程序。这里是一个基本的示例,它会读取用户输入的整数,并尝试找出它的所有质因数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void prime_factors(int num, int factors[]) {
int index = 0;
for (int i = 2; ; i++) {
while (num % i == 0 && is_prime(i)) {
factors[index++] = i;
num /= i;
}
if (num == 1)
break;
}
factors[index] = num; // 如果还有剩余的非质因数,记录它
}
void print_factors(int factors[], int count) {
printf("因数分解式:");
for (int i = 0; i < count; i++)
printf("%d ", factors[i]);
printf("\n");
}
int main() {
int num, factor[100]; // 假设最多有100个因数
printf("请输入一个小于1000的整数:");
scanf("%d", &num);
prime_factors(num, factor);
print_factors(factor, sizeof(factor)); // 注意sizeof计算数组元素个数而不是总大小
return 0;
}
```
在这个程序中,`is_prime`函数用于检查一个数字是否为质数,`prime_factors`函数则负责找到并存储因子,最后`print_factors`函数将结果打印出来。
阅读全文