数组素数,运用除法的方式


#include 
#define N10
main(){
    int i,j,n,a[10];
    for(i=2;i<10;i++)
        a[i]=i;
    for(i=2;i<10;i++){
         j=i+1;
    while(a[i]!=0&&j<10)
         if(j/i==0){
               a[j]=0;
              j++;}
        else
           j++;}
     for(i=2;i<10;i++)
         if(a[i]!=0)
             printf("%4d",a[i]);}

用这个程序输出素数为什么没法实现?

if(j/i==0) ?这要干啥?判断j<i?
if(j%i==0)吧

把第11行j/i改为j %i。另外main函数前边要加个void

题主是想写筛法求素数?供参考:

#include <stdio.h>
#define N 101
int main() 
{
    int i, j, a[101];
    for (i = 0; i < N; i++)
        a[i] = 1;
    a[0] = a[1] = 0;
    for (i = 2; i <= N - 1; i++) {
        if (a[i]) {
            for (j = i * 2; j <= N - 1; j += i)
                a[j] = 0;
        }
    }
    for (i = 0; i < N; i++)
        if (a[i])
            printf("%4d", i);
    return 0;
}