扶我起来我还能敲几行 2020-12-29 18:42 采纳率: 100%
浏览 3
已采纳

求求大佬帮忙看下哪里出了问题,实在不知道了

题目:输入区间[L, R],输出在此区间内的质数个数

源代码:

#include <stdio.h>
#include <math.h>
int main() {
    int L, R;
    int i, j, a, b;
    scanf("%d%d", &L, &R);
    for (i = R; i >= L; i--)
    {
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                a++;
            }
        }
        if (a == 0)
        {
            b++;
        }
    }
    printf("%d", b);
}

  • 写回答

1条回答 默认 最新

  • qq_25376897 2020-12-29 19:04
    关注
    #include <stdio.h>
    #include <math.h>
    int main() {
        int L, R;
        int i, j, a=0, b=0;//a、b要先初始化
        scanf("%d%d", &L, &R);
        for (i = R; i >= L && i>1; i--) //1不是质数
        {
    		a=0;//先清零,受到避免上次结果的影响
            for (j = 2; j < i; j++)
            {
                if (i % j == 0)
                {
                    a++;
                }
            }
            if (a == 0)
            {
                b++;
            }
        }
        printf("%d", b);
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?