c语言输入一个正整数,然后判断它是否是质数,若不是质数,输出因子。
时间: 2024-11-09 15:22:52 浏览: 27
在C语言中,你可以通过以下步骤来实现这个功能:
1. 首先,定义一个函数 `is_prime` 来检查给定的整数 `num` 是否为质数。质数是只有两个正因数(1和自身)的大于1的自然数。
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) {
return 0; // 小于等于1的数都不是质数
}
for (int i = 2; i * i <= num; i++) { // 只需检查到sqrt(num)
if (num % i == 0) {
return 0; // 如果能被i整除,则不是质数
}
}
return 1; // 无法被2到sqrt(num)之间整除,那么它是质数
}
```
2. 然后,主程序部分会获取用户输入并调用 `is_prime` 函数。如果输入的数不是质数,再找到所有因子并输出它们。
```c
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (!is_prime(num)) {
printf("%d 不是质数,它的因子有:", num);
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
printf("%d ", i); // 找出因子并打印
}
}
} else {
printf("%d 是质数。\n", num);
}
return 0;
}
```
阅读全文
相关推荐
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)