#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;
}