请帮我看看我的c语言哪有错?目的是输出a,b间所有质数,5个一行,其中a大于等于10,b小于等于1

请帮我看看我的c语言哪有错?目的是输出a,b间所有质数,5个一行,其中a大于等于10,b小于等于1000

#include <stdio.h>
#include <math.h>
int main()
{
int a,b,i,j,k,t,count;
scanf("%d%d",&a,&b);
count=0;
if (a>b) {t=a;a=b;b=t;}
if ((a<10)||(b>1000)) printf("error input,please input again");

do
{
for (i=a;i<=b;i++)
{
k=(int)sqrt(i);
for (j=2;j<=k;j++)
{if (i%j==0) break;
if (j>k) {count=count+1;printf("%d",i);}
if ((count>0)&&(count%5==0)) {printf("\n");}
}
}
} while (!((a<10)||(b>1000)));
return 0;
}

把do……while 去掉就可以了追答

直接就用里面的两个for循环

追问

请问改后为什么输出的行距不等?

追答

改成这样

追问

感谢大神指导!

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网