统计素数求和

124 阅读1分钟

统计素数求和.jpg

代码如下:

#include<stdio.h>
int main()
{
	int m, n,i,j,ret,sum=0;
	ret = 0;
	printf("请输入两个数:");
	scanf_s("%d  %d", &m, &n);
	for (i = m; i <= n; i++)
	{
		for (j = 2; j <=i; j++)
		{
			if (i % j == 0)
				break;
		}
		if (j == i)
		{
			sum += i;
			ret += 1;
		}
	}
	printf("%d %d", ret,sum);
	return 0;
}

问题: 1.一直在纠结break为什么用在这个地方,为什么不可以直接两个if并在一起,后续发现因为第一个if是在循环里的,而这个循环是j<=i,所以不能将两个if并在一起,会有冲突。
2.计数可用ret+=1。
3.输入要表示两个数之间有空格时,在两个%d%d之间加相应的空格数。