编写一个程序,找出1-100中的所有素数,并按5个一行输出。c语言

2024-11-22 12:09:36
推荐回答(4个)
回答1:

#include
#include
int main()
{
int a;
scanf_s("%d", &a);//输入要求的数字大小
int num, i, b, flag = 0;
for ( b = 2; b <= a; b++)
{
num = sqrt(b);
for ( i = 2; i <= num; i++)
{
if (b % i == 0)
break;
}
if (i > num)
{
printf("%d\t", b);
flag++;
if (flag % 5 == 0) {
printf("\n");

}
}  
}
printf("\n");
return 0;
}

回答2:

#include 

int main()
{
  int i, k, n = 0, isprime;
  for (i = 2; i <= 100; i++)
  {
    isprime = 1;
    for (k = 2; k < i; k++) if (i % k == 0) { isprime = 0; break; } 
    if (isprime) printf("%d%c", i, ++n % 5 ? ' ' : '\n');
  }
  return 0;
}

回答3:

#include
void main() { int i,j,n,b;
for ( i=1,n=0;i<=100;i++ ) {
for ( j=2,b=1;j<=i/2;j++ ) if ( i%j==0 ) { b=0; break; }
if ( b ) { printf("%d ",i); n++; if ( n%5==0 ) printf("\n"); }
}
printf("\n");
}

回答4:

#include
int main()
{
int i,k,n,x;
for(i=2;i<=100;i++)
{
k=i/2;
for(x=2;x<=k;x++)
if(i%x==0)
{x=0;break;}
if(x==k+1)
{
printf("%d\t",i);
n++;
}
if(n==5)
{
printf("\n");
n=0;
}
}
return 0;
}