1.#include<stdio.h>
int main()
{
int a = 0, b = 0;
for (a = 100; a <= 200; a++)
{
for (b = 2; b < a ; b++)
{
if (a % b == 0)
break;
}
printf("%d ", a);
}
return 0;
}
这个代码中的判定只用了一个break,只是结束了循环中的循环的一环,不能结束后面输出a,因此,我们要加一个if判定,如下:
2.#include<stdio.h>
int main()
{
int a = 0, b = 0,i=1;
for (a = 100; a <= 200; a++)
{
for (b = 2; b < a ; b++)
{
if (a % b == 0)
{
i = 0;
break;
}
}
if(i)
printf("%d ", a);
}
return 0;
}
这个代码中牵扯到了全局变量和局部变量的问题,我本意通过i的变换来达到输出的是与否,但是我定义了一个全局变量,在for中用到的却是局部变量,后面if一直取的是局部变量的值,无法做到判定
正确代码:#include<stdio.h>
int main()
{
int a = 0, b = 0;
for (a = 100; a <= 200; a++)
{
int i = 1;
for (b = 2; b < a ; b++)
{
if (a % b == 0)
{
i = 0;
break;
}
}
if(i)
printf("%d ", a);
}
return 0;
}
初写博客,多多关照,有什么意见请给我提提