1. 输入100到200之间所有的素数。

(1)通过两层for循环实现

#include <stdio.h>

int main()

{

int i;

int j;



for (i=100;i<=200;i++)

{

for (j=2;j<=i-1;j++)

{

if(i%j==0)

break;

}

if(j==i)

printf("%d ",i);

}

return 0;

}

优化:

#include <stdio.h>

int main()

{

int i;

int j;

for (i=101;i<=200;i=i+2)

{

for (j=2;j<=i/2;j++)       

{

if(i%j==0)

break;

}

if(j>=i/2)

printf("%d ",i);

}

return 0;

}

(2)通过比较记录的次数

    #include <stdio.h>

     int main()

    {

int i,j;

int count=0;

for (i=100;i<=200;i++)

{

count=0;   //每一次count都需要从0开始

for (j=2;j<=i-1;j++)

{

if(i%j==0)

break;

else

count++;

}

if(count==i-2)      //记录次数比较

                printf("%d ",i);

}

return 0;

}

(3)布尔类型

#include <stdio.h>

int main()

{

int i,j;

bool flag;

for( i=100;i<=200;i++ )

{

flag = true;

for( j=2;j<=i-1;j++ )

{

if( i%j==0 )

{

flag=false;

break;

}

}

if( flag )

printf("%d ",i);

}

return 0;

}

注:应用布尔类型在VC6.0中不能实现。可在Microsoft Visual Studio 2008中实现。