写一个代码:打印100~200之间的素数

#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	//int flag = 1;//这句代码的意思是int flag = 1的时候是素数,但是我第一次做的时候将它放在这里出错了
	int count = 0;
	for (i = 100; i <= 200; i++)//先打印出100-200的数,然后再在这些数中再进行筛选
	{
		int flag = 1;//那么之前我说放在前面是错误的是为什么呢?
//因为放在最前面的话只会将flag初始化为1一次,但是后面我们有一句代码是flag=0,也就是将flag赋值为0,
//如果我们将int flag = 1放在最前面的话,那么在循环中flag就会始终为0,那么就会出现我之前的错误
		for (j = 2; j < i; j++)//因为素数的定义是只有能被1和它本身整除的数是素数,那么我们就将除了1和它本身的数全部列出来
		{
			if (i % j == 0)//这里就是看会不会被除了1和它本身的数列出来,如果被除了1和它本身的数整除,那么就运行if语句中的内容
			{
				flag = 0;//前面假设flag=1是素数,那么flag=0就不是素数
				break;//这里使用break跳出第二个for循环
			}

		}
		if (flag == 1)//如果是素数就将它打印出来
		{
			count++;//这里其实是计算一共有多少个素数
			printf("%d ", i);
		}
	}
	printf("\ncount=%d\n", count);
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值