C程序求100以内的素数??????????????

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:56:17
main()
{int a=2,i;
printf("%d",a);
for(;a<=100;a++)
{for(i=2;i<=(a-1);i++)
if(a%i)
printf("%d",a);}
}用这个程序为什么求不到100以内的素数?????????急求答案!!!!!!!!!!!

#include <stdio.h>

main()
{
int a=2,i,flag;
printf("%d",a); /* 这句多了*/
for(;a<=100;a++)
{
flag = 0;/*标记为0*/
for(i=2;i<=(a-1);i++)/*i<=(a-1)可以修改为i<=a/2+1甚至sqrt(a) + 1*/
if(a%i==0)
{
flag = 1;/*当a存在非平凡因子的时候设置标志为1,即不是素数*/
break;
}
if (flag==0)
printf("%d\t",a);
}

}

#include <stdio.h>
#include <math.h>

void main()
{
int m,i,k,n=0;

for (m=2;m<=100;m+=1)
{
k=sqrt(m);
for (i=2;i<=k;i++)
if (m%i==0)
break;
if (i>=k+1)
{
n++;
printf("%d ",m);
}
if (n%10==0) printf("\n");
}

getchar()