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");
}
我是这么做的 为什么输出来结果有多个一样的值 展开
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");
}
我是这么做的 为什么输出来结果有多个一样的值 展开
2个回答
展开全部
下面的程序已经给你修改正确了:
#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");
}
#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");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询