c语言编写函数判断素数

#include <stdio.h>
int isPrime(int i);
main()
{
int number ;
printf("Please input a number to test if it is a prime:" );
scanf("%d",&number);
if (isprime(number==1)) //调用判断素数的函数isPrime
printf("Is a prime!\n");
else
printf("Is not a prime!\n");
}// 子函数isPrime的声明和定义如下:
int isprime(int i)
{
int a;
for(a=1;a<=i;a++);
if(i%a==0)break;
if(a==i)return 1;
else return 0;
}
求改错,c语言问题
D:\t.c(248) : warning C4013: 'isprime' undefined; assuming extern returning int
D:\t.c(258) : error C2043: illegal break

/判断是不是素数 

#include<stdio.h>

int prime(int a);//函数声明

int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("prime");

else

printf("not prime") ;

}

int prime(int a)

{

int i;

for(i=2;i<a;i++)

if(a%i==0)

return 0;//a%i==0不成立

else 

return 1;//a%i==0成立

}

扩展资料:

素数的算法

1、素数:除了1和本身外无法被其他自然数整除的数,叫做素数,也称质数,如:2,3,5,7一系列。

2、合数:比1大但不是素数的数称为合数,如:8,9,10一系列。

3、特殊的数字:1和0既不是素数也不是合数。

4、算法:  1>确定性算法   2>随机性算法  3>Eratosthenes算法。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
#include <stdio.h>
int isprime(int i); //大小写错误
void main() //省略是默认返回值为int
{
int number ;
printf("Please input a number to test if it is a prime:" );
scanf(" %d",&number);
if (isprime(number)==1) //调用判断素数的函数isPrime,注意括号的位置
printf("Is a prime!\n");
else
printf("Is not a prime!\n");
}// 子函数isPrime的声明和定义如下:
int isprime(int i)
{
int a;
for(a=2;a<i;a++) //a<=i改为<,这里到i太大,有简单的方法,另外分号去掉
if(i%a==0)break;
if(a>=i)return 1;
else return 0;
}本回答被提问者采纳
第2个回答  2010-12-21
main()
{
int number ;
printf("Please input a number to test if it is a prime:" );
scanf("%d",&number);
if (isprime(number==1)) ///改成 if (isprime(number)==1)
printf("Is a prime!\n");
else
printf("Is not a prime!\n");
}// 子函数isPrime的声明和定义如下:
int isprime(int i)
{
int a;
for(a=1;a<=i;a++);
if(i%a==0)break; //这里错,当a=1时,就break了
if(a==i)return 1;
else return 0;
}

改成
int isprime(int i)
{
int a;
if(i==1)return 1;//把当1素数
for(a=2;a<=i;a++);
if(i%a==0)break;
if(a==i)return 1;
else return 0;
}
else return 0;
}
试试
第3个回答  2021-05-14
/********** Begin **********/
#include<stdio.h>

int prime(int a);//函数声明
int flag;
int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("Yes");
else

printf("No") ;
}

int prime(int a)

{

int i;
for(i=2;i<a;i++)
{if(a%i==0)

{flag=0;break;}//a%i==0不成立

else

flag=1;//a%i==0成立
}
if(a==i)
flag=1;
return(flag);
}

/********** End **********/
第4个回答  2020-03-26