nobugdebug 2023-02-16 15:25 采纳率: 92.7%
浏览 34
已结题

c语言。输出1~100间的素数,并对他们求和。

c语言。输出1~100间的素数,并对他们求和。

以下代码有误,该如何改正?请详细解答。谢谢。

#include <stdio.h>
int IsPrime(int n);

int main()
{
    int i,sum = 0;
    for(i = 1;i <= 100;i++)     
    {
        if(IsPrime(i))
        {
            printf("%d\n",i);
            sum += i;
        }
    }
    printf("sum of prime numbers:%d\n",sum);
    return 0;
}
int IsPrime(int n)
{
    int i,flag;
    if(1 == n)
        flag = 0;       //1不是素数,flag = 0。
    else if(2 == n)
        flag = 1;       //2是素数,flag = 1。                     //考虑1、2这两个素数
    else
    {
        flag = 1;
        for(i = 2;i < n;i++)                  
        {   
            if(n%i==0)
                flag = 0;
            break;
        }
    }
    return flag;
}


  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-02-16 15:39
    关注
    • 素数判断,那边遇到能整除的,设置flag = 0,并退出循环
    
    #include <stdio.h>
    int IsPrime(int n);
     
    int main()
    {
        int i,sum = 0;
        for(i = 1;i <= 100;i++)     
        {
            if(IsPrime(i))
            {
                printf("%d\n",i);
                sum += i;
            }
        }
        printf("sum of prime numbers:%d\n",sum);
        return 0;
    }
    int IsPrime(int n)
    {
        int i,flag;
        if(1 == n)
            flag = 0;       //1不是素数,flag = 0。
        else if(2 == n)
            flag = 1;       //2是素数,flag = 1。                     //考虑1、2这两个素数
        else
        {
            flag = 1;
            for(i = 2;i < n;i++)                  
            {   
                if(n%i==0)   // 遇到 能整除的,则退出循环
                {
                    flag = 0;
                    break;
                }
                
            }
        }
        return flag;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 修改了问题 2月16日
  • 创建了问题 2月16日

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图