用C语言写:定义函数int prime(int n),判断n是否为素数;在main()函数中输入整数m,调用prime()函数求小于m的最大素数
时间: 2024-01-08 17:02:20 浏览: 32
请看下面的代码实现:
```c
#include <stdio.h>
int prime(int n) {
if (n < 2) {
return 0; // 不是素数
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main() {
int m;
printf("请输入一个整数m:");
scanf("%d", &m);
for (int i = m - 1; i >= 2; i--) {
if (prime(i)) {
printf("小于%d的最大素数是%d\n", m, i);
return 0;
}
}
printf("没有小于%d的素数\n", m);
return 0;
}
```
在这个程序中,我们首先定义了一个名为 prime 的函数,它接受一个整数 n 作为参数。函数会返回 0 或 1,表示 n 是否为素数。如果 n 是素数,函数返回 1;否则返回 0。
在 main 函数中,我们先输入一个整数 m。然后从 m - 1 开始循环,找到第一个小于 m 的素数,输出它,并立即返回。如果找不到任何素数,就输出提示信息。
相关问题
(1)定义函数int prime(int n),判断n是否为素数;在main函数中输入整数m,调用prime函数求大于m的10最小素数之和。用c语言写
以下是使用 C 语言实现的代码:
```c
#include <stdio.h>
int prime(int n)
{
int i;
for(i = 2; i < n; i++)
{
if(n % i == 0)
return 0;
}
return 1;
}
int main()
{
int m, sum = 0, count = 0;
printf("请输入一个整数m:");
scanf("%d", &m);
while(count < 10)
{
m++;
if(prime(m))
{
sum += m;
count++;
}
}
printf("大于%d的10个最小素数之和为:%d\n", m-10, sum);
return 0;
}
```
函数 `prime` 判断一个整数是否为素数,如果是素数则返回 1,否则返回 0。
在 `main` 函数中,输入整数 `m`,然后循环判断大于 `m` 的数是否是素数,如果是素数则加到 `sum` 变量中,并且计数器 `count` 加 1。当 `count` 累计到 10 时,结束循环,输出结果。
c语言编写实现函数判断是否为素数,定义并调用prime(n)函数,输入m个数,判断并输出素数的个数
下面是一个实现判断是否为素数和统计素数个数的C语言程序。
```c
#include <stdio.h>
#include <math.h>
int prime(int n) {
int i;
if (n <= 1) {
return 0;
} else if (n == 2) {
return 1;
} else if (n % 2 == 0) {
return 0;
} else {
for (i = 3; i <= sqrt(n); i += 2) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int m, i, num, count = 0;
printf("请输入要判断的数的个数:");
scanf("%d", &m);
for (i = 0; i < m; i++) {
printf("请输入第%d个数:", i + 1);
scanf("%d", &num);
if (prime(num)) {
printf("%d是素数\n", num);
count++;
}
}
printf("共有%d个素数\n", count);
return 0;
}
```
程序中的`prime(n)`函数用于判断一个整数`n`是否为素数,如果是素数则返回1,否则返回0。判断素数的方法是:如果`n`小于等于1,直接返回0;如果`n`等于2,返回1;如果`n`为偶数,返回0;否则从3到`sqrt(n)`(取整数部分)遍历所有奇数,如果存在一个奇数可以整除`n`,则返回0,否则返回1。
在主函数中,首先输入要判断的数的个数`m`,然后依次输入每个数,并调用`prime(n)`函数判断是否为素数。如果是素数,则输出该数,并将素数个数`count`加1。最后输出素数个数`count`。
注意:本程序中的判断方法并不是最优的,只是一种比较简单的实现方式。如果需要更高效的判断素数方法,可以参考其他资料。