c语言 求出100~200之间的所有素数,输出时一行打印五个素数。只用stdio和math,跪谢

我自己写的代码

我想输出

可是输出的是

大神们能给挑个错吗,谢谢了

#include <stdio.h>
bool mark[201];
int main()
{
int i, j;
for(i=2; i<=200; i++)
{
if(!(mark[i]))
{
for(j=i*i; j<=200; j+=i)
mark[j] = 1;
}
}
j = 0;
for(i=100; i<=200; i++)
{
if(!(mark[i]))
{
printf("%4d", i);
j++;
if(j%5==0)
putchar('\n');
}
}
putchar('\n');
return 0;
}

-------------------------------

你的把if(m%5==0) printf("\n");放在上一个if的大括号里面即可。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-22
#include <stdio.h>
#include<math.h>
void main()
{
int i,j,n,a[100];
for(i=0;i<=100;i++)
a[i]=i+100;
for(j=0;j<100;j++)
{
for(i=2;i<(int)sqrt(200);i++)
{ if(a[j]!=0&&a[j]%i==0)
a[j]=0;
}
}
for(i=0,n=0;i<100;i++)
{
if(a[i]!=0)
{
printf("%5d",a[i]);
n++;
}
if(n==5)
{
printf("\n");
n=0;
}
}
printf("\n");
}
第2个回答  2013-04-22
给你一个链接吧,那个是求100以内的所有素数,你改一下就行了。
http://zhidao.baidu.com/question/542279867?&oldq=1
第3个回答  2013-04-22
#include"stdio.h"
#include"math.h"
void main()
{
int num,i,k,count=0;
for(num=100;num<201;num++)
{ k=0;
for(i=2,i<sqrt(num);i++)
{
if(num%i==0)
{ k=1;
break;
}
}
if(!k)
{
count++
printf("%d",num);
if(count==5)
printf("\n");
}
}

}
第4个回答  2013-04-22
#include "stdio.h"
#include "math.h"
int prime(int n)
{
int i,r;
int flag=0;
for(i=2;i<=sqrt(n);i++)
{
if( n%i==0)
{
flag=1;
break;
}
}
return flag;
}
int main()
{
int n,k,cnt=0;
for(n=100;n<=200;n++)
{
k=prime(n);
if(k==0)
{
cnt++;
printf("%5d",n);
{
if(cnt%5==0)
printf("\n");
}
}
}
return 0;
}追问

我是初学者,我自己编了个程序,我想输出,可是输出的是,大神能帮忙改一下吗



相似回答