c语言中三种循环,while循环、do while循环、for循环。
这三种循环往往嵌套在一起使用才能更好的解决问题。
例:找出100~200之间的素数,并打印在屏幕上。
分析:1、范围:100~200。
2、要求:素数,只能被1和其本身所除的数字。
流程:1、产生100~200之间的数字,循环。
2、去判断每一个数字是否是素数,是则打印。
判断:如果2~i-1之间的数字都不能整除i,那么i就是素数。
那么流程3:要产生2~i-1的数字去整除i。
算法优化1:
因为偶数不可能是素数,我们从101开始,每次加等2,只判断奇数。
算法优化2:
如果一个整数m可以写成m=a*b(a、b为整数)的形式,那么a或b中至少有一个小于或等于m的开方。那么如果要判断m是否为素数时,那么只要判断2~m的开方之间是否存在能整除m的数字。
(开方库函数为sqrt,用于计算一个数的算术平方根,其头文件为<math.h>)