这是我的代码,它只能输出素数.
#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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果是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;
}
Run Code Online (Sandbox Code Playgroud)