小白刚学cs
2021-09-07 16:30
采纳率: 100%
浏览 21

c语言判断该数是否为素数为啥我的执行结果都是一个答案

img

img

img

  • 收藏

3条回答 默认 最新

  • 快乐鹦鹉 2021-09-07 16:34
    已采纳

    第7、8行交换一下顺序。
    m还没输入呢,你就开根号啊

    打赏 评论
  • 且听风吟0220 2021-09-07 16:32

    解决没?

    打赏 评论
  • Pliosauroidea 2021-09-07 16:40

    因为k是个浮点数,你应该是没正确处理
    而且确实

    img


    总之按你的思路仿写了一个

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int n, i;
        scanf("%d", &n);
        double m = sqrt(n);
        printf("%f\n", m);
        for (i = 2; i < ((int)m + 1); i++)
        {
            if (!(n % i))
            {
                printf("%d\n", i);
                break;
            }
        }
        if (i == ((int)m + 1))
            printf("prime");
        else
            printf("not prime");
    }
    
    打赏 评论

相关推荐 更多相似问题