今天没事干,寻思着写个C语言小程序玩玩,就写个找素数的程序。毕竟这玩意儿,上学的时候老师就老让咱写,也算是个经典题目。
开搞!
我得先在电脑上打开我的“秘密武器”——Dev-C++。这玩意儿,虽然界面看起来有点老土,但用起来顺手!
然后,新建一个源代码文件,把基本的框架给敲上去:
#include <stdio.h>
int main() {
return 0;

框架搭好,接下来就是重头戏——找素数。
我想想,素数不就是只能被1和它自己整除的数嘛那我就用笨办法,一个数一个数地试,看看它能不能被其他数整除。如果能,那它就不是素数;如果不能,嘿那就是我要找的“宝贝”。
我先写个循环,从2开始,一直试到100:
for (int i = 2; i <= 100; i++) {
// 这里写判断素数的代码
然后,在循环里面,我又写个循环,用来判断当前的数 i
是不是素数:
int isPrime = 1; // 先假设它是素数
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = 0; // 如果能被其他数整除,就不是素数
break; // 没必要再试下去,直接跳出循环
根据 isPrime
的值,判断当前的数是不是素数,如果是,就把它打印出来:
if (isPrime == 1) {
printf("%d 是素数\n", i);

把这些代码片段组合起来,就大功告成!
完整的代码如下:
#include <stdio.h>
int main() {
for (int i = 2; i <= 100; i++) {
int isPrime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = 0;
break;
if (isPrime == 1) {
printf("%d 是素数\n", i);
return 0;
运行结果
我按下运行按钮,看着屏幕上一个个蹦出来的数字,心里还挺美滋滋的。虽然这程序写得简单粗暴,但好歹也能跑起来,而且结果也正确。看来,当年的编程基础还没完全还给老师嘛
这程序还有很多可以优化的地方,比如可以只试到这个的开平方等等,但今天就先这样,改天有空再折腾。