瞎折腾


私信TA

用户名:chenbin

访问量:63646

签 名:

等  级
排  名 75
经  验 10027
参赛次数 0
文章发表 74
年  龄 0
在职情况 学生
学  校 中南大学
专  业

  自我简介:

解题思路:
1.先建立一个循环m<=i<=n,依次判断在这一区间的每个数是否是素数,在循环内部调用isprime(i)函数;

2.在int isprime(int x)函数中,我们要判断x是否是素数:设立一个循环2<=i<=x;循环内部设立一个标志符号flag=1,默认为1即判定为是素数;然后再设立一个循环2<=j<i,循环内部判断,if(i%j==0)这说明不是素数,flag=0;否则flag=1,此时sum+=i;
3.返回int isprime(int x)中的sum给main函数(注意在main函数中要有一个变量sum1接收从isprime函数中返回来的数值),最后输出即可。

注意事项:





参考代码:

#include<stdio.h>

int isprime(int x)

{

     int i,j,sum=0;

     for(i=2;i<=x;i+=1)

     {

         int flag=1;

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

          {

             if(i%j==0)

                  flag=0;

          }

            if(flag)

                sum+=i;

    }

    return sum;

}

int main()

{

     int i,m,n,sum1=0;

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

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

     {

          sum1=isprime(i);

     }

     printf("%d",sum1);

     return 0;

}


 

0.0分

0 人评分

  评论区

你这搞复杂了吧
2017-12-10 13:26:28
  • «
  • 1
  • »