编写一个判断整数m是否为素数的函数int isprime(int *m)。再编写一个主函数,找出100到200之间的所有素数,要求调用isprime函数实现。
时间: 2023-05-04 12:01:28 浏览: 123
题目中要求编写一个判断整数m是否为素数的函数int isprime(int *m),然后再编写一个主函数,找出100到200之间所有的素数,并且要求调用isprime函数实现。
回答如下:
首先编写isprime函数判断整数m是否为素数,代码如下:
```c
int isprime(int *m)
{
int i;
if (*m<=1) return 0;//小于等于1的数不是素数
for (i=2;i<*m;i++)
if (*m%i==0) return 0;//找到约数,不是素数
return 1;//是素数
}
```
然后再编写主函数,找出100到200之间所有的素数,代码如下:
```c
#include <stdio.h>
#include "isprime.h"
int main()
{
int i,n;
for (i=100;i<=200;i++)
{
n=i;
if (isprime(&n))
printf("%d ",n);
}
printf("\n");
return 0;
}
```
其中isprime函数在头文件isprime.h中定义。
感谢阅读,希望对您有所帮助!
相关问题
用C语言编写一个函数isprime,判断整数N是否为素数
以下是用C语言编写的判断整数N是否为素数的函数isprime:
```c
#include <stdio.h>
#include <math.h>
int isprime(int N){
int i;
if(N < 2) return 0; //小于2的数不是素数
for(i = 2; i <= sqrt(N); i++){ //从2到sqrt(N)枚举
if(N % i == 0) return 0; //如果能整除,不是素数
}
return 1; //否则是素数
}
int main(){
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
if(isprime(n)) printf("%d是素数\n", n);
else printf("%d不是素数\n", n);
return 0;
}
```
函数isprime的思路是从2到sqrt(N)枚举每个可能的因子i,如果N能被i整除,则N不是素数;否则N是素数。如果N小于2,则不是素数。函数返回1表示N是素数,返回0表示N不是素数。
在主函数中,先输入一个整数n,然后调用isprime函数判断n是否为素数,最后输出结果。
编写一个找出大于给定整数m的最小素数的函数,要求在主函数中输入一个整数m,调用子函数isprime()找出其最小素数,并输出结果。 函数原型:int isprime(int x) ****要求输入提示信息为:please input n: ****输出格式要求为:"%d\n"
题目要求编写一个函数,找出大于给定整数m的最小素数的函数。在主函数中,要求输入一个整数m,并调用子函数isprime()找出其最小素数。计算结果输出。
函数原型:int isprime(int x)
要求输入提示信息为:please input n:
输出格式要求为:"最小素数为:%d\n"。
解题思路:
1. 定义isprime()函数判断给定整数是否为素数,返回布尔类型值。
2. 在主函数中,输入一个整数m,调用isprime()函数找出其最小素数,计算结果输出。
代码实现: