C语言 代码-输入一个正整数判断是否为素数

分析:

根据素数的定义思考。素数是大于1的自然数,除了1和自身外,其他数都不是它的因子。
那我们就可以用一个循环,从2开始遍历到这个数减去1,如果这个数都不能被整除,那么这个数就是素数。

按照思路我们一开始可能会写成

//错误示范
#include 
int main()
{
	int x;
	int i;
	printf("请输入一个正整数:");
	scanf("%d",&x);
	for(i=2;i<=x;i++)
	{ 
	 if(x%i==0)
	 printf("%d 不是素数",x);
    }
	//写到这里会发现出现问题了
	
	
	return 0;
}

写到这我们发现,假如输入的是6

i=2时,可以整除,于是输出:不是素数,i++。接着会继续循环,i=3时,可以整除,于是又会输出一次:不是素数。

那么怎么样合理的跳出循环并进行输出呢?

可以再借助一个变量,此变量和是素数为同一阵营,也就是说当该数可以被整除时,此变量进行变化

代码如下:

#include 
int main()
{
	int x;
	int i;
	int isPrime=1;
	printf("请输入一个正整数:");
	scanf("%d",&x);
	for(i=2;i

你可能感兴趣的:(c语言基础知识,c语言,c++,开发语言)