这个C语言程序怎么改就达到目的了

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:54:27
通过键盘输入整数m和n,将大于整数m且紧靠m的n个素数输出。
例如:输入17和5,则输出19 23 29 31 37
我的程序是:
#include<stdio.h>
void main()
{int m,n,j,i,k;
printf("输入m,n;");
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{k=1;
do{m++;
for(j=2;j<=m/2;j++)
if(m%j==0)
{k=0;
break;}
else
k=1;
}while(k);
printf("%d\n",m);
}
}

这个对了。。。你试试,主要应该是判断循环条件时是:k=0时进行循环。。。而不是k=1。。。 楼主可以试试把你的判断do while的条件改为k==0我想这才是你想要的结果吧
#include<stdio.h>
void main()
{int m,n,j,i,k;
printf("输入m,n;");
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{k=1;
do{m++;
for(j=2;j<=m/2;j++)
if(m%j==0)
{k=1;
break;}
else
k=0;
}while(k==0);
printf("%d\n",m);
}
}

#include<stdio.h>
void main()
{int m,n,j,i,k;
printf("输入m,n;");
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{k=1;
do{m++;
for(j=2;j<=m/2;j++)
if(m%j==0)
{k=1;
break;}
else
k=0;
}while(k);
printf("%d\n",m);
}
}
//这样就对了