c语言 输入两个正整数m和n,求出[m,n]区间的所有素数

#include<stdio.h>voidmain(){intm,n,i,j,k;scanf("%d%d",&m,&n);for(i=m;i<=n;i++){for(j=... #include <stdio.h>
void main ( )
{
int m,n,i,j,k;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
for(j=2;j<=n;j++)
if(i%j==0)
break;
else printf("%d",i);

}
printf("\n");
}
我是这么做的 为什么输出来结果有多个一样的值
展开
 我来答
liubird
2012-01-05 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:937万
展开全部
下面的程序已经给你修改正确了:
#include <stdio.h>
void main ( )
{
int m,n,i,j,k;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
if(i==2) { //如果是2, 直接输出。
printf( "%d ", i);
continue;
}
for(j=2;j<i;j++) //应该是j<i
if(i%j==0) break; //这个break只能跳出最内层的for循环
if(j==i) printf("%d ",i); //printf应该放到循环外,并且只有当j==i的时候i才是素数

}
printf("\n");
}
hmcx18
2012-01-05 · 超过18用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:57.4万
展开全部
素数,这一般是必考的。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式