在C中获得2到100之间的所有素数

TTT*_*TTT -2 c primes loops

这是我的代码,它只能输出素数.

#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 ....

我做错了什么?

Dav*_*rtz 5

你可能想要:

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)