这是另一种思路
#include"stdio.h"#define N 100intmain(){inti,j;intarr[N];for(i=0;i<N;i++){arr[i]=i+1;}arr[0]=0;//进行素数判断:从2开始 用2除后面的数,如果后面的数能被2整除 那么那个数一定不是素数,将那个数置为零。//接着再用3除3后面的数。以此类推。//要求数组是升序for(i=1;i<N-1;i++){for(j=i+1;j<N;j++){if(arr[i]!=0&&arr[j]!=0)if(arr[j]%arr[i]==0){arr[j]=0;}}}//输出for(i=0;i<N;i++){if(arr[i]!=0)printf("%d\n",arr[i]);}return0;}