输入两个正整数m和n,统计并输出m和n之间的素数的个数

#include<stdio.h>doubleprime(intm){inta,c,i;for(i=2;i<=m/2;i++){if(m%i==0){a=0;}if(m%... #include <stdio.h>
double prime(int m)
{
int a,c,i;
for(i=2;i<=m/2;i++){

if(m%i==0){

a=0;
}
if(m%i==1)

a=1;
break;
}

return a;
}
int main(void)
{
int a,b,c=0,i,m,n,s=0;
printf("Input m:");
scanf("%d",&m);
printf("Input n:");
scanf("%d",&n);
for(m;m<=n;m++){

if(prime(m)==1)

s=s+m;
c=c+1;
}
printf("Count=%d,sum=%d",c,s);
return 0;
}
哪里错了
展开
 我来答
做而论道
高能答主

2015-10-30 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

改了一些:

#include <stdio.h>

int prime(int m)
{
    int  i;
    for(i = 2; i <= m / 2; i++) 
      if(m % i == 0)  return  0;

    return 1;
}

int main(void)

    int  i, m, n, c=0, s=0;

    printf("Input m:");  scanf("%d", &m);
    printf("Input n:");  scanf("%d", &n);

    for(m; m <= n; m++)
      if(prime(m))  { s += m; c++;}

    printf("Count = %d, sum = %d", c, s);

    return 0;
}

 提供思路,未经全面测试,楼主自己试试看。

梦vs希望
推荐于2017-07-23 · TA获得超过3万个赞
知道大有可为答主
回答量:3403
采纳率:61%
帮助的人:1220万
展开全部
if(m%i==0){

a=0;
}
if(m%i==1)

a=1;
break;
}这句有问题 可以用flag来表示判断
这是我写的

#include<stdio.h>
#include<math.h>

int main()
{
int i, n, k;
scanf("%d", &n);
k = sqrt(n + 1);
for(i = 2; i <= k; i++)
{if(n % i == 0)
break; }

if(i <= k || n == 1)
printf("No");
else
printf("Yes");
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式