【发布时间】:2020-12-25 17:10:26
【问题描述】:
问题:用 C 语言编写一个程序,从数组中找出素数。
我写了一段代码,但它不起作用。请您帮我找出问题所在?
我的代码:
#include <stdio.h>
int main()
{
int n, count = 0, x = 0;
scanf("%d", &n);
int numbers[n], prime[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &numbers[i]);
}
for (int i = 0; i < n; i++)
{
for (int j = 2; j < n; j++)
{
if (numbers[i] % j == 0)
{
x++;
break;
}
}
if (x > 0)
{
}
else
{
prime[count] = numbers[i];
count++;
}
}
for (int i = 0; i < count; i++)
{
printf("%d ", prime[i]);
}
return 0;
}
请帮助我找到解决方案。
提前致谢。
【问题讨论】:
-
您不会重置
x(作为计数器)。对于i的每次迭代,您需要将其设置为 0。
标签: arrays c loops for-loop primes