C语言实现:从键盘输入正整数,轻松判断是否为素数
以下是一个用C语言编写的程序,用于判断用户输入的正整数是否为素数: ```c #include <stdio.h> #include <stdbool.h> // 函数声明 bool isPrime(int num); int main() { int num; // 提示用户输入一个正整数 printf("请输入一个正整数: "); scanf("%d", &num); // 调用函数判断是否为素数 if (isPrime(num)) { printf("%d 是素数。\n", num); } else { printf("%d 不是素数。\n", num); } return 0; } // 判断是否为素数的函数 bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i <= num / 2; i++) { if (num % i == 0) { return false; } } return true; } ``` 程序说明: 1. 函数声明: - `bool isPrime(int num);`:声明一个返回布尔值的函数,用于判断传入的整数是否为素数。 2. 主函数 `main`: - 提示用户输入一个正整数。 - 使用 `scanf` 从键盘读取用户输入。 - 调用 `isPrime` 函数判断输入的数是否为素数,并根据返回值输出相应的结果。 3. 判断是否为素数的函数 `isPrime`: - 如果输入的数小于等于1,则直接返回 `false`(不是素数)。 - 使用一个 `for` 循环从2遍历到 `num / 2`(因为任何大于 `num / 2` 的数都不可能整除 `num`)。 - 如果在循环中发现 `num` 能被某个数整除,则返回 `false`。 - 如果循环结束都没有找到能整除 `num` 的数,则返回 `true`。 注意事项: - 这个程序使用了C99标准中的 `<stdbool.h>` 头文件,以支持布尔类型 `bool`。如果你的编译器不支持这个标准,可以将 `bool` 替换为 `int`,并相应地修改返回值为 `1`(`true`)和 `0`(`false`)。 - 程序中使用了简单的暴力算法来判断素数,对于较大的数可能效率较低。如果需要处理更大的数,可以考虑使用更高效的算法,如埃拉托斯特尼筛法(Sieve of Eratosthenes)。 ######[AI写代码神器 | 576点数解答 | 2024-11-10 19:38:17]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)250
- C++ 实现:快速判断正整数是否为“超级整数”(字节豆包 | 239点数解答 | 2025-11-10 18:52:28)93
- C++实现:判断正整数是否为“超级整数”(字节豆包 | 242点数解答 | 2025-11-10 20:27:49)128
- C++实现数组逆序重放:代码、解释与复杂度分析(字节豆包 | 428点数解答 | 2025-11-28 21:09:16)85
- C++ 实现:快速查找 n 个正整数中的第 x 个数(字节豆包 | 333点数解答 | 2025-11-28 21:10:23)96
- C语言:实现整数分解,偶数拆素数、奇数有提示!(字节豆包 | 390点数解答 | 2024-10-13 23:02:27)244
- C 语言:实现整数分解,偶数拆素数、奇数特殊输出!(字节豆包 | 307点数解答 | 2024-10-13 23:05:41)225
- C 语言实现:输入正整数,偶数分解为素数对,奇数输出提示,0 结束程序(字节豆包 | 395点数解答 | 2024-10-13 23:06:39)173
- C语言实现:输入整数分解偶数为素数和,奇数输出提示,0结束程序(字节豆包 | 377点数解答 | 2024-10-13 23:16:40)117
- C语言实现:5 秒内处理输入正整数,偶数分解为素数和,奇数输出提示!(阿里通义 | 647点数解答 | 2024-10-13 23:20:56)136