标题:一道入门的题,不知道错那里,求解救
只看楼主
a1002496427
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-17
结帖率:33.33%
已结贴  问题点数:10 回复次数:1 
一道入门的题,不知道错那里,求解救
#include "stdio.h"
#include "math.h"
int main( )
{
  int ri,repeat;
  int count, i, m, n, sum;
  int prime(int m);

  scanf("%d",&repeat);
  for(ri=1;ri<=repeat;ri++){
    scanf("%d%d", &m, &n);
    count=0;
    sum=0;
     for(i=m;i<=n;i++)
     {
         if(prime(i))
         {
             count++;
             sum=sum+i;
         }
     }
    printf("count=%d, sum=%d\n", count, sum);
  }
}

int prime(int m)
{
    int i;
    for(i=2;i<m/2;i++)
    {
        if(m%i==0)
        {
            break;
            
        }
        if(i>m/2&&m!=1)
        {
            return 1;
        }
        else
            return 0;
            
    }
}


5. 程序填空
不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:括号内是说明
输入:
3      (repeat=3)
1 10   (m=1, n=10)
20 35  (m=20, n=35)
14 16  (m=14, n=16)
输出:
count=4, sum=17    (1到10之间有4个素数:2,3,5,7)
count=3, sum=83    (20到35之间有3个素数:23, 29, 31)
count=0, sum=0     (14到16之间没有素数)

自己编译出来测试的结果错误的,求解错在哪
搜索更多相关主题的帖子: include repeat count 
2017-01-06 19:18
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
int prime(int m)
{
    if (m < 2)
        return 0;
    int i;
    for (i=2; i<=sqrt(m); i++)
        if (m%i == 0)
            return 0;
    return 1;
}
2017-01-06 20:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-473370-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.222995 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved