题目:

 输出100-200之间的素数 (素数是除了1和它本身不能被其它数整除的数)。

代码实现:

#include <stdio.h>
#include <stdbool.h>

#define START 100
#define END 200

bool Is_prime(int n)
{
	int i = 0;

	//小于等于1,不是素数
	if (n <= 1)
	{
		return false;
	}
	
	//一个数如果可以被2个整除
	//则这2个数中,一定至少有1个数小于等于它的平方根
	for (i = 2; i *  < n; i++)
	{
		//可以被除1和自身以外的数整除,不是素数
		if (n % i == 0)
		{
			return false;
		}
	}

	//是素数
	return true;

}

int main()
{
	int i = 0;
	int j = 0;
	int flag = 0;


	for (i = START; i <= END; i++)
	{
		if (Is_prime(i))
		{
			printf("%d ", i);
		}

		//如果i为奇数,那么每次循环+2,因为2以上的偶数不是素数
		if (i % 2 != 0)
		{
			i++;
		}
    
	}

	return 0;
}

运行结果:

C语言解题 || 输出素数_i++