小小zot 2023-10-17 23:07 采纳率: 100%
浏览 10
已结题

写函数判断素数的程序出错

为什么会出错呢?运行结果不只有素数,哪里出现问题了?怎么改呢?

img

  • 写回答

4条回答 默认 最新

  • 柯本 2023-10-17 23:24
    关注

    程序有问题,你的函数返回值你根本没有用,且函数中s!=0时,返回是随机值,改好的

    #include <stdio.h>
    int prime_number(int n)
    {
      int j;
      int s = 0;
      for (j = 2; j < n; j++)
        {
          if (n % j == 0)
            {
              s = j;
              break; //加个
            }
        }
      return !s; //若s不为0,返回0,否则为1
    }
    int main()
    {
      int i = 0;
      for (i = 2; i <= 200; i++)
        {
          int ret;
          ret = prime_number(i);
          if (ret) //加个判断
            printf("%d\t", i);
        }
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 创建了问题 10月17日