编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。

编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。... 编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。 展开
 我来答
那个少年摩羯座
2015-12-10
知道答主
回答量:8
采纳率:0%
帮助的人:6276
展开全部
//编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

#include <stdio.h>

int prime(int m);

int main(int argc, const char * argv[]) {

int m,n,i,j,sum = 0;

printf("请输入两个正整数\n");

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

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

j = prime(i); //调用prime(m)函数

if (j == 1) {

sum++; //统计素数个数

printf("%d 是素数\n", i);

}

else

printf("%d 不是素数\n",i);

}

printf("sum = %d",sum); //输出素数个数

}

int prime(int m) //判断m是不是素数的函数

{

int i,f = 0;

if (m == 2) {

f = 1;

}

for (i = 2; i < m; i++) {

if (m % i == 0) {

f = 0; //m不是素数时

break;

}

else

f = 1; //m是素数

}

return f;

}
White_MouseYBZ
推荐于2018-04-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6643万
展开全部
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int prime(int n){
    int i;
    if(n>2 && !(n&1) || n<2)return 0;
    for(i=3; i*i<=n;i+=2)
        if(!(n%i)) return 0;
    return 1;
}
int main(void){
    int x,m,n;
    while(1){
        printf("Input 2 positive integers m & n(m<n)...\n");
        if(scanf("%d%d",&m,&n),m>0 && m<n) break;
        printf("Error, redo: ");
    }
    for(x = m<3 ? 1 : 0,m+=!(m&1);m<=n;x+=prime(m),m+=2);
    printf("The result is %d\n",x);
    return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式