weixin_58066256 2021-05-11 09:53 采纳率: 66.7%
浏览 155
已采纳

定义一个函数实现用筛选法输出100内所有素数 还有错误改不过来了 大佬捞捞

定义一个函数实现用筛选法输出100内所有素数 还有错误改不过来了 大佬捞捞
  • 写回答

3条回答 默认 最新

  • qfl_sdu 2021-05-11 10:25
    关注

    代码如下,请采纳,谢谢。

    nclude <stdio.h>

    //求nn以内的素数
    int* sushu(int nn)
    {
        
        int* buf = new int[nn];
        
        
        //0和1不是素数,所以直接从2开始
        int index = 0;
        for (int i = 2; i < nn ; i++)
        {
            bool b = true;
            for (int j = 2;j < i;j++)
            {
                if (i % j == 0)
                {
                    b = false;
                }
            }
            if (b)
            {
                buf[index] = i;
                index++;
            }
        }
        buf[index] = 0;
        return buf;
    }


    int main()
    {
        int *buf = sushu(100);
        for (int i = 0; i < 100; i++)
        {
            if (buf[i] != 0)
            {
                printf("%d ",buf[i]);
            }else
                break;
        }
        delete[] buf;
        buf = 0;
        getchar();
        getchar();
    }

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

报告相同问题?