c语言isprime函数
时间: 2023-09-21 08:02:41 浏览: 187
以下是一个简单的C语言函数,用于检查一个数是否为质数:
```c
int isprime(int n)
{
int i;
if (n <= 1) return 0;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0) return 0;
}
return 1;
}
```
函数接受一个整数参数n,如果n是质数,则返回1,否则返回0。该函数使用for循环遍历从2到sqrt(n)的所有整数,如果n能被其中任何一个整数整除,则n不是质数。注意,1不是质数,因此如果n小于或等于1,则该函数将返回0。
相关问题
c语言自定义函数判断素数
以下是两种C语言自定义函数判断素数的例子:
1.使用for循环判断
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) //判断n是否是素数,返回1,不是返回0
{
int i;
for(i=2; i<=sqrt(n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i;
printf("100到200之间的素数: ");
for(i=100; i<=200; i++)
{
if(isPrime(i)==1)
printf("%d ",i);
}
return 0;
}
```
2.使用while循环判断
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) //判断n是否是素数,是返回1,不是返回0
{
int i=2;
while(i<=sqrt(n))
{
if(n%i==0)
return 0;
i++;
}
return 1;
}
int main()
{
int i=100;
printf("100到200之间的素数: ");
while(i<=200)
{
if(isPrime(i)==1)
printf("%d ",i);
i++;
}
return 0;
}
```
c语言调用函数判断素数
以下是两种C语言调用函数判断素数的例子:
1.使用循环判断
```c
#include <stdio.h>
#include <stdlib.h>
int sushu(int a){
int i,m,r;
m=0;
for(i=2;i<a;i++){
r=a%i;
if(r == 0) m=1; // m作为标记 1则不是素数
}
return m;
}
int main(){
int a,i,m;
printf("请输入一个大于1的整数:\n");
scanf("%d",&a);
while(a<=1){
printf("输入有误,请重新输入\n");
scanf("%d",&a);
}
m=sushu(a);
if(m == 1)
printf("%d不是素数\n",a);
else
printf("%d是素数\n",a);
printf("\n");
system("pause");
return 0;
}
```
2.使用函数判断
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int IsPrime(int num) {
int i = 0;
for (i = 2; i <= sqrt(num); i++) {
if (0 == num%i) {
return 0;
}
}
return 1;
}
int main() {
int num = 0;
printf("请输入一个大于1的整数:\n");
scanf("%d", &num);
while (num <= 1) {
printf("输入有误,请重新输入\n");
scanf("%d", &num);
}
if (IsPrime(num)) {
printf("%d是素数\n", num);
}
else {
printf("%d不是素数\n", num);
}
printf("\n");
system("pause");
return 0;
}
```