如何假装用C语言无脑打字2000行找出1~1000之间的质数

  • Post author:
  • Post category:其他


基础部分

如何用C语言正常编写找出1~1000之间的质数
  1. 质数:因数只有1和它本身的数,最小的质数是2。

  1. 知道了质数的概念,那么就好办了。让每一个数和从 2 开始,依次与到其本身之间的所有数字相除,一旦存在两者取余为0,则不为质数。所以只要简单的使用for循环语句嵌套寻找即可(当然也可以用while语句)。

  1. 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; 
}

其中值得注意的一点是

关于常见转义字符及其作用

(来自百度百科,可自行参考)



版权声明:本文为MAVID_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。