判断是否是素数只要满足t*t<=i就行了for(t=2;t<=i;t++)改为for(t=2;t*t<=i;t++),后面的一起都改了
以10个数为一行输出,可以设置一个变量k,赋初值0
if(t*t==i)
{ printf("%d",i);
printf(" ");
if(++k%10==0)printf("\n");
}
#include
#include
void main()
{
const int n=200;
int i=1,j,count=0,sieve[n+1];
for(j=1;j
while(i
while(sieve[i]==1)
i++; // 跳过值为1的分量,表示下一个分量必为一素数
cout<
count++;
if(count%10==0)
cout<
}
}
循环次数可以再减少,判断到2~ sqrt(i)就行了
*************
#include
#include
void main()
{
int i,t;
int count = 0;
int bflag = 0; /* break标记 */
for (i=100;i<=200;i++)
{
bflag = 0;
for (t=2;t<=sqrt(i); t++)
{
if (i%t==0)
{
bflag = 1;
break;
}
}
if (!bflag)
{
printf("%4d",i);
++count;
if (count%10 == 0)
{
count = 0;
printf("\n");
}
}
}
printf("\n");
}
#include
void main()
{
int i,t;int j=0;
for(i=100;i<=200;i++)
{
for(t=2;t<=i;t++)
if(i%t==0) break;
if(t==i)
{
printf("%d",i);
printf(" ");
j++;
if(j==10)
{
printf("%c",'\n');
j=0;
}
}
}
}
#include
void
main()
{
int
i,t;int
j=0;
for(i=100;i<=200;i++)
{
for(t=2;t<=i;t++)
if(i%t==0)
break;
if(t==i)
{
printf("%d",i);
printf("
");
j++;
if(j==10)
{
printf("%c",'\n');
j=0;
}
}
}
}