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

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日

悬赏问题

  • ¥15 请问以下文字内容及对应编码是用了什么加密算法或压缩算法呢?
  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式