问题描述】 输入一个正整数,判断该数是否为素数,并输出是否为素数的信息。判别素数功能用函数实现,函数原型:int prime(int n),是素数返回 1,不是素数返回 0。提示:注意函数的定义与调用方法,及调用时的参数传递。 【样例输入1】(下划线部分为输入内容) 17 【样例输出1】 17 is a prime number. 【样例输入2】(下划线部分为输入内容) 15 【样例输出2】 15 is not a prime number.用C语言
时间: 2024-02-21 16:59:23 浏览: 115
好的,下面是用 C 语言实现的代码:
```c
#include <stdio.h>
// 判断是否是素数
int prime(int n)
{
int i;
if (n <= 1)
return 0;
for (i = 2; i * i <= n; i++)
if (n % i == 0)
return 0;
return 1;
}
int main()
{
int num, is_prime;
printf("请输入一个正整数:");
scanf("%d", &num);
is_prime = prime(num);
if (is_prime == 1)
printf("%d is a prime number.", num);
else
printf("%d is not a prime number.", num);
return 0;
}
```
代码解释:
首先,在 `prime` 函数中,我们使用了一个 `for` 循环,从 2 到 $\sqrt{n}$ 遍历每一个数,判断它是否是 `n` 的因子。如果 `n` 有因子,则不是素数,返回 0;否则,是素数,返回 1。
接下来,在 `main` 函数中,我们先使用 `scanf` 函数从键盘读入一个正整数 `num`,然后调用 `prime` 函数判断 `num` 是否为素数,并将结果存储到 `is_prime` 变量中。最后,我们根据 `is_prime` 的值,使用 `printf` 函数输出结果。
阅读全文