代码如下:
#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之间加相应的空格数。