c语言编写函数判断素数

#include<stdio.h>intisPrime(inti);main(){intnumber;printf("Pleaseinputanumbertotestif... #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
展开
 我来答
大野瘦子
高粉答主

推荐于2019-08-24 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:46.6万
展开全部

/判断是不是素数 

#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算法。

2010_liury
推荐于2017-11-23 · TA获得超过115个赞
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
#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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱你忆1J
2010-12-21 · TA获得超过306个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:171万
展开全部
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;
}
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾皇qfg
2021-05-14
知道答主
回答量:1
采纳率:0%
帮助的人:591
展开全部
/********** 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 **********/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俏丽还舒服的赤子H
高粉答主

2020-03-26 · 繁杂信息太多,你要学会辨别
知道答主
回答量:10万
采纳率:1%
帮助的人:5895万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式