一心只想AC 2022-11-20 16:01 采纳率: 74.6%
浏览 4
已结题

为什么这个代码运行次数很少?

#include<stdio.h>
void isprime(int m, int n);
int main() {
    int m, n;
    scanf_s("%d %d", &m, &n);
    isprime(m,n);
    return 0;
}
void isprime(int m, int n) {
    int c=0,i,j,x=1;
    for (i = m; i <= n; i++) {

        for (j = 2; j < i; j++) {

            if (i % j == 0) {
                x = 0;
                break;
            }

        }
        if (x == 1 && i != 0) {
            printf("%d ", i);
            c++; 
        }
        if (c % 10 == 0) printf("\n");
    }


}

给定区间输出其中的素数,我输入2 100,它输出2 3然后就没有了,我输入6 7,它给我输出了两行空白。请问这个代码错在哪里了。谢谢!

  • 写回答

2条回答 默认 最新

  • hello_world&& 2022-11-20 16:49
    关注

    在判断素数函数里面,第二个循环前加上x=1

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 11月20日