m0_59039219
2021-06-05 20:23
采纳率: 100%
浏览 47

用函数求素数和的c语言题目

#include <stdio.h>

#include <math.h>

int prime(int p);

int PrimeSum(int m, int n);

int main()

{

    int m, n, p;

 

    scanf("%d %d", &m, &n);

    printf("Sum of ( ");

    for (p = m; p <= n; p++) 

    {

        if (prime(p) != 0)

            printf("%d ", p);

    }

    printf(") = %d\n", PrimeSum(m, n));

    return 0;

}

int prime(int p)

{

    int i;

    i = 1;

    for (i = 2; i < p; i++)

    {

        if (p % i == 0)

        {

            i = 0;

            break;

        }

        else

            continue;

    }

    if (p <= 1)

        i = 0;

    return i;

}

int PrimeSum(int m, int n)

{

    int b, sum,i;

    sum = 0;

    i = 1;

    for (m; m <= n; m++)

    {

        if (m <= 1)

        {

            i = 0;

            continue;

        }

        for (b = 2; b <m; b++)

        {

            if (m % b == 0)

            {

                i = 0;

                break;

            }

        }

        if (i==1)

            sum= sum + m;

    }

    return sum;

}

题目如图,下面是我的代码,素数都能求出来,但和整不出来,求教QWQ

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-05 20:28
    已采纳

    既然定义了素数判断函数,为啥不用呢?

    int PrimeSum(int m, int n)
    {
        int sum = 0;
        for(;m<=n;m++)
            if(Prime(m))
              sum+=m;  
        return sum;
    }
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-06-07 15:16

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题