c语言【问题描述】 输入一个正整数,判断该数是否为素数,并输出是否为素数的信息。判别素数功能用函数实现,函数原型:int prime(int n),是素数返回 1,不是素数返回 0。提示:注意函数的定义与调用方法,及调用时的参数传递。 【样例输入1】(下划线部分为输入内容) 17 【样例输出1】 17 is a prime number. 【样例输入2】(下划线部分为输入内容) 15 【样例输出2】 15 is not a prime number. 【样例说明】 【评分标准】
时间: 2024-03-06 17:51:57 浏览: 73
3_判断素数_yes_
好的,以下是对应的C语言代码:
```c
#include <stdio.h>
#include <math.h>
// 判断素数的函数
int prime(int n) {
int i;
if (n <= 1) { // 小于等于1的数不是素数
return 0;
}
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) { // 能整除说明不是素数
return 0;
}
}
return 1; // 是素数
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (prime(n)) { // 调用 prime() 函数判断是否为素数
printf("%d is a prime number.\n", n);
} else {
printf("%d is not a prime number.\n", n);
}
return 0;
}
```
输出:
```
请输入一个正整数:17
17 is a prime number.
```
```
请输入一个正整数:15
15 is not a prime number.
```
解释:
首先,定义了一个名为 `prime` 的函数,该函数接收一个正整数 `n`,如果 `n` 是素数,则返回 1,否则返回 0。函数的实现方法是:如果 `n` 小于等于 1,直接返回 0;否则,从 2 开始到 `sqrt(n)` 结束,逐个判断 `n` 是否能被整除,如果能被整除,则返回 0,否则返回 1。
在 `main` 函数中,先读取用户输入的正整数 `n`,然后调用 `prime(n)` 函数判断 `n` 是否为素数,如果是素数,则输出“n is a prime number.”,否则输出“n is not a prime number.”。
阅读全文