特定数量的整数

specific number of integers

我的要求是打印 x 个素数。所以我的代码首先要求用户输入一个数字,例如7,我要它产生7个质数。

我现在已经编码到生成所有小于 50 的素数的步骤。但是我如何以我只希望它输出的方式编码它,在这种情况下,7 个素数?

我搜了一下,但是看不懂别人的代码。如果您可以编辑我的代码并指导我进行解释,我将不胜感激。谢谢

#include <stdio.h>
int main(void)
{
    int x,y,z;

    printf("Input a number: ");
    scanf("%d", &x);

      for (z=2; z<=50; z++)
        {
            for (y=2; y<=z; y++)
            {
                if (z%y==0)
                    break;
            }
            if (z==y)
            printf("%d\n", z);
            
        }
}

添加一个“质数计数器”

#include <stdio.h>
int main(void)
{
    int x,y,z;
    int primes = 0; // no primes found so far

    printf("Input a number: ");
    scanf("%d", &x);

      for (z=2; z<=50; z++)
        {
            for (y=2; y<=z; y++)
            {
                if (z%y==0)
                    break;
            }
            if (z==y) {
                printf("%d\n", z);
                primes += 1; // found a prime
            }

            if (primes == x) break; // stop z loop after x primes
            
        }
}