素数是指在大于1的自然数中,除了1和它本身之外没有其他因数的数。在C语言中,可以通过编写一个函数来判断一个数是否为素数。以下是一个简单的C语言程序,用于判断一个数是否为素数:
```c
include include include // 函数声明 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 <= sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } ``` 代码解释: `bool isPrime(int num);`:声明一个名为 `isPrime` 的函数,接受一个整数参数 `num`,并返回一个布尔值。 `int main()`:程序入口。 `printf("请输入一个整数: ");`:提示用户输入一个整数。 `scanf("%d", &num);`:读取用户输入的整数。 `if (isPrime(num))`:调用 `isPrime` 函数判断输入的整数是否为素数。 `printf("%d 是素数\n", num);`:如果 `isPrime` 返回 `true`,则输出该数是素数。 `else`:否则输出该数不是素数。 `if (num <= 1)`:如果输入的数小于等于1,直接返回 `false`,因为素数必须大于1。 `for (int i = 2; i <= sqrt(num); i++)`:从2开始遍历到该数的平方根。 `if (num % i == 0)`:如果该数能被 `i` 整除,则返回 `false`,因为素数只能被1和它本身整除。 `return true;`:如果循环结束后没有找到能整除该数的数,则返回 `true`,表示该数是素数。 扩展功能: 如果你想要找出给定范围内的所有素数,可以修改 `main` 函数,使其循环遍历并输出所有素数。例如: ```c int main() { int num; int start, end; printf("请输入范围的起始值: "); scanf("%d", &start); printf("请输入范围的结束值: "); scanf("%d", &end); printf("范围内的素数有:\n"); for (int i = start; i <= end; i++) { if (isPrime(i)) { printf("%d ", i); } } printf("\n"); return 0; } ``` 这个程序会输出从 `start` 到 `end` 之间的所有素数。函数声明
主函数
isPrime 函数