C 每行需要10个输出

C 每行需要10个输出,c,if-statement,for-loop,C,If Statement,For Loop,我在精炼一些代码时遇到了困难。我的代码取一个数字“n”,并计算出许多素数。我需要每行输出数据显示10个素数。任何提示都将不胜感激 #include <stdio.h> int main() { int n, i = 3, count, c; printf("How many primes would you like?"); scanf("%d",&n); if ( n >= 1 ) { printf("2"); }

我在精炼一些代码时遇到了困难。我的代码取一个数字“n”,并计算出许多素数。我需要每行输出数据显示10个素数。任何提示都将不胜感激

#include <stdio.h>

int main()
{
   int n, i = 3, count, c;

   printf("How many primes would you like?");
   scanf("%d",&n);

   if ( n >= 1 )
   {
      printf("2");
   }

   for ( count = 2 ; count <= n ;  )
   {
      for ( c = 2 ; c <= i - 1 ; c++ )
      {
         if ( i%c == 0 )
            break;
      }
      if ( c == i )
      {
         printf(" %d",i);
        count++;
      }

      i++;
   }

   return 0;
}
#包括
int main()
{
int n,i=3,计数,c;
printf(“您想要多少素数?”);
scanf(“%d”和“&n”);
如果(n>=1)
{
printf(“2”);
}
对于(count=2;count只需尝试

printf(" %5d", i);
   /*     ^ to help align the numbers

首次修复已打印的
2

bool is_prime(int anyNum)//获取整数数组返回,is_prime
bool is_prime(int anyNum)   //takes an integer array returns, is_prime
{
    bool is_prime = true;
for (int c = 2; c <= anyNum - 1; c++)
{
    if (anyNum % c == 0)
    {
        //printf("%d is not prime\r\n" , anyNum);
        is_prime = false;
    }
}
return is_prime;
} 

int main()
{
int num_primes;
printf("How many primes would you like: ");
std::cin >> num_primes;

printf("\r\nScanned Primes Are---\r\n");
int foundPrimes = 0;
int x = 0;
for (; x <= num_primes; x++)
{
    bool gotLuckyFindingPrime = is_prime( x );
    if (gotLuckyFindingPrime)
    {
        if (foundPrimes % 10 == 0)
        {
            printf("\r\n");
        }
        printf("     %d", x);
        foundPrimes = (foundPrimes + 1) % 10;
    }
}
}
{ bool是_prime=true; 对于(int c=2;c>num_素数; printf(“\r\n扫描素数为--\r\n”); int-foundPrimes=0; int x=0;
对于(;x一种方法是让另一个计数器变量在每次打印数字时递增。用
1

int counter = 1;
如果此条件
(计数器%10==0)
true
,则通过
\n
打印新行:

if (counter % 10 == 0)
           printf("\n");
以下是每行打印
10
数字的完整代码:

#include<stdio.h>

int main()
{
   int n, i = 3, count, c;
   int counter = 1;            // <------ added this

   printf("How many primes would you like?");
   scanf("%d",&n);

   if ( n >= 1 )
   {
      printf("2");
   }

   for ( count = 2 ; count <= n ;  )
   {
      for ( c = 2 ; c <= i - 1 ; c++ )
      {
         if ( i%c == 0 )
            break;
      }

      if ( c == i )
      {
          if (counter % 10 == 0)     // <------ added this if-statement
                  printf("\n");

          printf(" %2d", i);
          counter++;              // <------ added this
          count++;
      }

      i++;
   }
   printf("\n");
   return 0;
}
#包括
int main()
{
int n,i=3,计数,c;
整数计数器=1;//=1)
{
printf(“2”);
}

对于(count=2;count当您从未在任何地方输出换行符(\n)时,您希望得到什么?请注意,您的素数确定机制非常粗糙(表示缓慢)。有效,但非常非常缓慢。请尝试查找10000个素数(104729是第10000个素数)。这太好了!非常感谢,有没有关于如何更好地对齐输出数据的建议?是否要在每个数字之间输出更多空间?
#include<stdio.h>

int main()
{
   int n, i = 3, count, c;
   int counter = 1;            // <------ added this

   printf("How many primes would you like?");
   scanf("%d",&n);

   if ( n >= 1 )
   {
      printf("2");
   }

   for ( count = 2 ; count <= n ;  )
   {
      for ( c = 2 ; c <= i - 1 ; c++ )
      {
         if ( i%c == 0 )
            break;
      }

      if ( c == i )
      {
          if (counter % 10 == 0)     // <------ added this if-statement
                  printf("\n");

          printf(" %2d", i);
          counter++;              // <------ added this
          count++;
      }

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