【求素数个数】不知道哪里错了,请教,刚学

看了一下午了,不知道哪里有问题,真想不明白,求看看
题目是:
输入两个数,求这两个数区间的素数的个数


```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;
}