今天和大家分享一个打印1000以内所有素数的程序
这是我第一次在平台上分享我写的代码,希望对一些像我一样的初学者有点帮助。
#include<stdio.h>
int main()
{
int i,j,k=0;
for (i = 2; i < 1000; i++)//1既不是素数也不是合数,所以从2开始
{
for (j = 2; j < i;j++)
if (i%j == 0)
break;
if (j >= i)
{
printf("%d\t", i);
k++;
if (k % 5 == 0)//使输出的结果每五个数在一行
printf("\n");
}
}
return 0;
}
所谓素数就是除了1和它本身外没有其他因数的数,所以要想判断一个数n是素数就要保证它除1和n外没有其他因数,也就是n除以从2到n-1的结果都有余数。所以,我们在上面的代码中用两个循环,第一个循环是i的循环,从2到1000,第二个循环是j的循环,j是小于i的,代表那些除数,只要出现可以整除的情况,即代表此时的i已经不是素数了,即可以用break,跳出本次循环提前进入下一次循环。我们在输出i的时候,用了\t,\t是水平制表符,打印在屏幕上是8个空格,这是为了输出美观,为了输出能够更美观,我们又引入了变量k,if(k%5==0) printf(" \n")代表每打印出5个素数,就换行,这样输出在屏幕上的结果是每五个一行的,看起来会比较美观。
能力有限,这篇博客就写成这个样子了,我会坚持写下去,希望可以越来越好。