重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
c语言判断素数的函数程序:
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出德钦免费做网站回馈大家。
经分析,以上代码使用flag的值来判断帆纳输入的n是否为素数,flag=1,n为素数;flag=0,n不是素数。完善if条件语句,第亩轿隐一个if,主函数中的if调用函数,需要填入一个参数,迅厅即prime(n);第二个if,是判断什么情况下flag=0,即输入的整数不为素数,即(n/i==0),余数为0,可以整除;最后返回flag的值,returnflag
但是经过运行可以知道,n=4的时候,程序判断4是素数,明显是错误的,n取0和1的时候同理,程序存在漏洞。分析得知,在定义函数的过程中,for循环条件语句,i=0,如果为负整数,另加判断条件,略)
#include stdio.h
int isprime(int n)
{
int i;
前知 if(n2)
return 0;
for(i=2;i*i=n;++i)
if(n%i==0)
芹者 return 0;
慧首消 return 1;
}
int main()
{
int i;
for(i=500;i1000;++i)
if(isprime(i))
printf("%d\n",i);
return 0;
}
#includestdio.h
#includemath.h
void main()
{
int input_x,result;
printf("档戚Please enter a INT number: ");
scanf("%d",input_x);
result = prime_number(input_x);
printf("%d, "渗蠢察,input_x);
if(result)
{
printf("It is a prime number");
}
else
{
printf("It is '丛茄not' a prime number");
}
}
prime_number(num)
{
int a,i,temp;
temp = 0;
a=sqrt(num);
for(i=2;i=a;i++)
{
if(num%i==0)
{
temp = 1;
break;
}
}
if(temp == 0)
return 1;
return 0;
}