c语言素数判断子函数 c语言判断素数的函数

c语言判断素数的函数程序

c语言判断素数的函数程序:

乐平ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

经分析,以上代码使用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,如果为负整数,另加判断条件,略)

判断X是否为素数,用子函数编写.C语言

我以前写的程序,绝对正确

#include stdio.h

#include stdlib.h

#include math.h

void main()

{

long num,nu;

long number();

int a=0;

while(1)

{

printf(\"1.判断是否是素数\\n2。退出\\n请选择:\");

scanf(\"%d\",a);

switch(a)

{

case 1:

printf(\"\\n请输入判断数字\");

scanf(\"%ld\",num);

nu=num;

num=number(num);

if(num!=0)

printf(\"%ld是素数\\n\",num);

else

printf(\"%ld不是素数\\n\",nu);

printf(\"\\n\\n\");

break;

case 2:

exit(0);

default:

printf(\"\\n您输入的有错误,请重新输入!\\n\\n\");

break;

}

}

}

long number(n)

long n;

{

static long k,i;

static long m;

k=(long)sqrt(n);

for(i=2;i=k;i++)

if(n%i==0)

break;

if(i=k+1)

m=n;

else

m=0;

return(m);

}

c语言中,用函数的方式,判断是否是素数

还有一个错误,C语言中没有bool类型,默认返回值是0,你可以一个一个类型的函数检测、float,没有返回值时、double类型的函数,你这个程序不只是逻辑不能那样说,但是如果是long或者char型时,返回值就不是0了,如果是返回值int。

另外多说一句、算法错了


分享标题:c语言素数判断子函数 c语言判断素数的函数
文章出自:http://azwzsj.com/article/dopgiec.html