XXYILU 2023-02-19 11:00 采纳率: 60%
浏览 20
已结题

c语言素数输出达不到预期效果

为什么达不到预期效果呢,我想要输出2-100的所有素数

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int i = 0;
    int n = 0;
    int k = 0;
    int leap = 1;
    for(i = 3; i<100; i++)
    {
        k = (int)sqrt(i);
        for(n=2; n<=k; n++)
        {
            if(k%n==0)
            {
//                leap = 0;
                break;
            }
        
        }
            if(n>k)
                printf("%d ", i);
//        leap = 1;
    }
    return 0;
}

不知道为什么
用的dev c++

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-02-19 11:26
    关注

    改动处见注释,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    int main()
    {
        int i = 0;
        int n = 0;
        int k = 0;
        int leap = 1;
        for(i = 2; i<100; i++)//or(i = 3; i<100; i++)修改
        {
            k = (int)sqrt(i);
            for(n=2; n<=k; n++)
            {
                if(i%n==0)  //if(k%n==0)修改
                {
    //leap = 0;
                    break;
                }
            }
            if(n > k)
                printf("%d ", i);
    //leap = 1;
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 创建了问题 2月19日