这是我的代码,应该只输出素数。
#include <stdio.h>
int prime(int n){
int j;
for (j=2;j<=n/2;j++){
if((n%j)==0){
return 0;
}
else{
return 1;
}
}
}
void main(){
int i,p;
for (i=2;i<=100;i++){
p=prime(i);
if(p==1){
printf("%d \n",i);
}
}
}
结果是 2,3,7,9,11,13,15....
不是 2,3,5,7,11,13....
我做错了什么?
最佳答案
您可能想要:
int prime(int n){
int j;
for (j=2;j<=n/2;j++)
if((n%j)==0)
return 0;
return 1;
}
关于c - C语言中获取2到100之间的所有素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892360/