C语言编写一个函数int prime(number),判断整数number是否是素数主函数中由键盘输入整数,调用1中的函数,返回值为真则是素数,否则不是素数。
时间: 2024-02-20 20:02:19 浏览: 109
C语言判断一个数是否为素数
以下是代码实现:
```c
#include <stdio.h>
int prime(int number) {
int i;
if (number < 2) {
return 0; // 小于2的数都不是素数
}
for (i = 2; i * i <= number; i++) {
if (number % i == 0) {
return 0; // 能整除说明不是素数
}
}
return 1; // 能整除说明是素数
}
int main() {
int number;
printf("请输入一个整数:");
scanf("%d", &number);
if (prime(number)) {
printf("%d是素数\n", number);
} else {
printf("%d不是素数\n", number);
}
return 0;
}
```
代码说明:
1. `prime` 函数的参数为整数 `number`,返回值为整型;
2. 如果 `number` 小于 2,则直接返回 0,因为小于 2 的数都不是素数;
3. 在 `for` 循环中,从 2 开始循环,一直循环到 `i * i <= number` 为止,因为如果 `number` 的因子大于 `sqrt(number)`,则必定有另一个因子小于 `sqrt(number)`;
4. 如果 `number` 能被 `i` 整除,则说明 `number` 不是素数,直接返回 0;
5. 如果循环结束后还没有返回 0,则说明 `number` 是素数,返回 1;
6. 主函数中,从键盘输入一个整数 `number`,调用 `prime` 函数判断是否是素数,如果是素数则输出相应信息,否则输出另一种信息。
阅读全文