C语言 user输入2个数字,显示其中的素数,,



我必须使用c开发一个程序,该程序将用户的2个不同数字作为输入,并在输入中输出素数(例如输入2和100,输出从2到100的素数)。程序应该终止非素数并且不打印。谁能告诉我代码中的错误


setbuf(stdout,NULL);
int flag=0,num,num1,i,a;


printf("Enter 2 number");
scanf("%d%d",&num,&num1);

for(i=num;i<=num1;i++){

for(a=2;a<i;a++){
if(i%a==0){
flag=1;
break;

}
if(flag==0){
printf("n%d",num);
}
}
}

我必须使用c开发一个程序,该程序将用户的2个不同数字作为输入,并在输入中输出素数(例如输入2和100,输出是从2到100的素数)。程序应终止非素数,不打印。

至少这个问题:

int flag=0应该在for(i=num;i<=num1;i++){环内,为每个新的i重置质数检测。


注:for(a=2; a<=i/a; a++) {for(a=2;a<i;a++){快得多

相关内容

最新更新