看了一下午了,不知道哪里有问题,真想不明白,求看看
题目是:
输入两个数,求这两个数区间的素数的个数
```c
#include<stdio.h>
int main()
{
int a, b, c, d, j = 0, i;
while(~scanf("%d %d", &a, &b))
{
for(c=a; c <= b; c++)
{
i = 0;
for(d = c-1;d >= 1;d--)
{
if(c%d == 0)
i++;
}
if(i == 1)
{
j++;
}
}
printf("%d", j);
}
return 0;
}
```
if(i == 1)
->
if(i >= 1)
或者你判断后加上 break;不必继续循环
修改如下,供参考:
#include<stdio.h>
int main()
{
int a, b, c, d, j = 0, i;
while(~scanf("%d %d", &a, &b))
{
j = 0;//每新输入 a 和 b 的新区间, j 也需复位归零
for(c=a; c <= b; c++)
{
i = 0;
for(d = c-1;d >= 1;d--)
{
if(c%d == 0)
i++;
}
if(i == 1)
{
j++;
}
}
printf("%d", j);
}
return 0;
}