用函数求素数和的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

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

int PrimeSum(int m, int n)
{
    int sum = 0;
    for(;m<=n;m++)
        if(Prime(m))
          sum+=m;  
    return sum;
}

 

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

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

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