题目:判断一个数是否为素数(素数是只能被1或自身整除的数,除了1。素数一般有2, 3, 5, 7, 11, 13, 17, 19...等)。
编程思路分析:
- 用户输入一个数n。
- 判断n是否为素数。
- 输出结果。
重点运算思路:
- 因为素数特性,所以使被输入的数字【n】对【2 ~ (n-1)】取余判断。要启用for循环,以确保每一个数字都能取余。
- 接下来需要判断取余是否为0。若取余结果为0,则输出“n不是素数”,其余的则输出“n是素数”。
这个操作需要用isprime变量以表示取余结果,最终判断也是通过isprime变量是否为0进行。 - 当我们在for循环中已经判断到x%i=0后,不再需要循环(因为已经证明了n不是一个素数),则可以在if语句后使用break;语句停止循环。
实现代码如下:
#include<stdio.h>
//输入一个数,判断其是不是素数。
int main(){
int n = 0;
scanf("%d", &n);
int i = 1;
int isprime = 1;//isprime是为了后续方便做判断使用的。
for( i=2; i<n; i++ ){
if(n % i == 0){
isprime = 0;
break;
}
}
if(isprime == 0){
printf("%d不是素数", n);
}else{
printf("%d是素数", n);
}
return 0;
}