基础部分
如何用C语言正常编写找出1~1000之间的质数
质数:因数只有1和它本身的数,最小的质数是2。
知道了质数的概念,那么就好办了。让每一个数和从 2 开始,依次与到其本身之间的所有数字相除,一旦存在两者取余为0,则不为质数。所以只要简单的使用for循环语句嵌套寻找即可(当然也可以用while语句)。
C语言代码如下(这边我采用while与for的嵌套)
#include<stdio.h>
#include<math.h>
int main()
{
int n=1000,i=2,j;
while(i<=n)
{
for(j=2;j<=i-1;j++)
if(i%j==0)break;
if(j<i-1)printf("%d不是质数\n",i);//可取余为0的数比其数小,则不为质数
else printf( "%d是质数\n",i );
i++;
}
return 0;
}
整蛊部分
啥叫假装用C语言无脑打字2000行找出1~1000之间的质数
先看效果图
(这是运行界面) 就是假装这个代码是自己一行一行打出来的(哈哈哈哈……感觉很无聊很无脑?确实呀!但是整朋友很快乐) 这个就更简单了就是在刚才那个程序基础上加几个printf语句就可以了
C语言代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int n=1000,i=3,j;
printf(" #include<stdio.h>\n #include<math.h>\n int main()\n {\n\tint i\n");
printf("\tscanf(\"%%d\",&i)\n\n\tif(i==2)printf(\"2是质数\\n\");\n\n");
while(i<=n)
{
for(j=2;j<=i-1;j++)
{
if(i%j==0)break;
}
if(j<i-1)
printf("\tif(i==%d)printf(\"%d不是质数\\n\");\n\n",i,i);
else
printf("\tif(i==%d)printf(\"%d是质数\\n\");\n\n",i,i);
++i;
}
printf(" }");
return 0;
}
其中值得注意的一点是关于常见转义字符及其作用 (来自百度百科,可自行参考)