33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ()
{
int i, k, m;
int leap = 0;
int counter = 0;
for(i = 2; i <= 100; i++)
{
leap = 0;
m = (int)sqrt((double)i);
for(k = 2; k <= m; k++)
{
if(i % k == 0)
leap = 1;
}
if(leap == 0 )
{
counter += 1;
//printf(" '%d ", counter);
printf("%5d", i);
if(counter % 5 == 0)
printf("\n");
}
}//求100以内的素数,每5个元素换一行。但换行 不正确,中间有大块空白?怎么回事
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
int i, k, m;
int leap = 0;
int counter = 0;
for(i = 2; i <= 100; i++)
{
leap = 0;
m = (int)sqrt((float)i);
for(k = 2; k <= m; k++)
{
if(i % k == 0)
{
leap = 1;
}
}
if(leap == 0)
{
counter += 1;
printf("%d ", i);
if(counter % 5 == 0) /*放这里就OK了*/
{
printf("\n");
}
}
/*
if(counter % 5 == 0) 放外面,不是素数的情况下counter%5==0也会输出换行
{
printf("\n");
}
*/
}
return 0;
}