编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)

判断m是否为素数,当m为素数时返回1,否则返回0。为什么这个运行结果总为0?#include<stdio.h>#include<math.h>intmain(){intp... 判断m是否为素数,当m为素数时返回1,否则返回0。
为什么这个运行结果总为0?
#include<stdio.h>
#include<math.h>
int main()
{
int prime(int);
int m,n,i,count=0;
printf("请输入两个正整数:");
scanf("%d,%d",&m,&n);
for(i=m;i<=n;i++)
{
if (prime(i)==1)
{
count++;
}
}
printf("这两个正整数之间的素数个数为:%d\n",count);
return 0;
}
int prime(int a)
{
int i;
if(a==1)
return 1;
for(i=2;i<=sqrt(a);i++)
if(a%i==0)
return 0;
else
return 1;
}
展开
 我来答
刺友互
高粉答主

2019-06-26 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.9万
展开全部

1、打开visual studio软件,进入菜单“文件”->新建->新建项目。选择windows窗体程序,项目名为“SuShu”。

2、在窗体上添加控件:lable控件,text值为“输入一个数,判断是否是素数”;一个textbox控件(tb_inputvalue),用来输入要判断的素数。

3、素数设计算法。

4、素数设计算法:取消检测区间,提高程序效率。我们可以只判断2到n/2之间的数,就可以知道他是不是素数了。

5、获取前100之间的所有素数:从2到一百挨个判断,是素数就记录下来。

6、判断一个数是不是素数:if (sushu(Int32.Parse(tb_inputvalue.Text))) {MessageBox.Show(tb_inputvalue.Text + " 是素数");} else { MessageBox.Show(tb_inputvalue.Text + " 不是素数"); }。

7、编译运行程序,我们输入67,检测67是不是素数。根据执行结果是素数和实际符合。

听不清啊
高粉答主

2015-12-02 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>

#include<math.h>

int main()

{

int prime(int a);

int m,n,i,count=0;

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

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

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

{

if (prime(i)==1)

count++;

}

}

printf("这两个正整数之间的素数个数为:%d\n",count);

return 0;

}

int prime(int a)

{

int i;

if(a==1)

return 0;

for(i=2;i<=sqrt(a);i++)

if(a%i==0)

return 0;

return 1;

}


追问

亲,为啥子明明一样的我的win8系统下就一直是0呢?

追答
你把代码复制过去再运行。原来的程序作了修改了。
还有,你输入的逗号,怎么那么“胖”呢,该减减肥了,要用英文的逗号。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庆年工坊
2015-12-02 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部
把倒数第二行else去掉
追问
为什么呢?
追答
你这样写只要是奇数就返回1了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式