【发布时间】:2020-12-20 09:33:57
【问题描述】:
用户给定一个由 8 个整数组成的数组, 程序应该打印出每个输入的素数。 输入一些数字后程序停止,我不知道为什么。 你能告诉我我做错了什么吗? 代码:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
const int N=8;
int i, j, count, x;
int arr[N];
int prime[N];
j = 2;
for(i = 0; i < N; i++)
{
printf("Enter a number %d:", i + 1);
scanf("%d", &arr[i]);
if (arr[i] == 1)
{
prime[i] = arr[i];
count++;
}
else
{
do
{
x=arr[i] % j;
if (x != 0)
j++;
else
break;
}
while(true);
if(arr[i] == j)
{
prime[i] = arr[i];
count++;
}
}
}
for (i = 0; i < count; i++)
printf("%dth prime number:%d\n", i + 1, prime[i]);
getch();
return 0;
}
【问题讨论】: