C语言典型例题——判断一个数是否为质数(素数) 这里这只介绍一种方法
1.首先什么是质数(素数)
2.错误示范
3.正确示范
-
首先什么是质数(素数) 我开始认为素数和质数是两个东西,其是他两个是一个东西。 除了1和它本身之外,不能被其他数所整除即为质数(素数) 例如11,除了1和它本身11没有其他数可以将它整除,所以11是个质数(素数) 2.错误示范 开始我并没有直接从网上搜索相关教程视频,而是凭借前两天看过的一节网课中类似的一个题开始了编写,于是就出现了一堆的错误,如下:
#include <stdio.h> int main(void) { int i = 0; printf("请输入一个小于100的数\n"); scanf("%d\n",&i); while (i<=100) { if (i % 2 == 1) printf("是质数"); else printf("不是质数"); } return 0; }
于是我又去企鹅群里问大佬,说我这个为什么运行不了啊,大佬说我的语法和逻辑都有错误,让我自行百度,然后理清思路,然后便有了下面的操作。 我开始在CSDN和哔哩哔哩上疯狂搜索,因为开始我认为质数和素数不是一个东西,所以跟很多视频文章擦肩而过,直到我认识到素数和质数是一个东西后,才正式的开始。 3.正确示范 我发现了解到while,for循环语句的我,看很多老哥写的代码根本就看不懂,我就一直找简单的,这里推荐b站up主小小杰吖i的这个视频(这里是链接),这里用到了for循环,
//检验一个数是否为质数(素数) #include <stdio.h> int main(void) { int num; printf("请输入一个大于1的整数:"); scanf("%d", &num); //for循环 for (int i = 2; i <= num - 1; i++) { //判断num是否能被i整除 若能整除即不为质数 if (num%i == 0) { printf("%d不是质数\n", num); //return终止函数 return; } } printf("%d是质数\n", num); return 0; }
用到的知识,(1)for循环语句 for(exp1;exp2;exp3)
exp1为初始化部分,用于初始化循环变量。
exp2为条件判断部分,判断条件是否终止。
exp3为循环调整。
把while循环中的三个部分放到了一起。 (2)%求模(求余数)运算。 (3)return目前不是很了解,在这个代码中起终止函数的作用。
评论区