C 一旦在数组中放入五个偶数,程序将停止

C 一旦在数组中放入五个偶数,程序将停止,c,arrays,C,Arrays,这是一个获取数字输入的程序。根据给定或输入的数字,将那些偶数存储在数组中。一旦数组中已存储5个偶数,输入将停止/终止。这是我的代码: #include <stdio.h> #include <conio.h> int main() { int num[5]; int x, counter, even[5], numEven=0; for(counter=0; counter<5; counter++){ //loop for getting the n

这是一个获取数字输入的程序。根据给定或输入的数字,将那些偶数存储在数组中。一旦数组中已存储5个偶数,输入将停止/终止。这是我的代码:

#include <stdio.h>
#include <conio.h>
int main()
{
int num[5];
int x, counter, even[5], numEven=0;



    for(counter=0; counter<5; counter++){ //loop for getting the numbers from the user
        printf("Enter number: ");
        scanf("%d", &num[counter]);
            if(num[counter]%2==0){                //storing the even numbers
                even[numEven] = num[counter];
                numEven++;
            }
    }




    printf("\n\nEven numbers: "); //printing even numbers
    for(counter=0; counter<numEven; counter++){
        printf("%d, ", even[counter]);
    }


getch();
return 0;
} 
#包括
#包括
int main()
{
int-num[5];
整数x,计数器,偶数[5],numEven=0;
对于(计数器=0;计数器
#包括
#包括
int main()
{
int x,偶数[5],numEven=0;
而(努美文<5)
{
scanf(“%d”和&x);
如果(x%2==0)
{
偶数[numEven++]=x;
}
}
printf(“\n\n偶数:”;//打印偶数

对于(x=0;x如果程序要求用户输入的次数不是固定的且取决于用户的输入,则使用while循环

while (numEven < 5) {
   printf("Enter number: ");
   scanf("%d", &num[counter]);
   if (num[counter] % 2 == 0) {
       even[numEven] = num[counter];
       numEven++;
   }
}
while(numEven<5){
printf(“输入编号:”);
scanf(“%d”、&num[计数器]);
if(num[计数器]%2==0){
偶数[numEven]=num[计数器];
numEven++;
}
}

它是否因错误而停止?另外,我无法找到您在哪里初始化了
x
变量。如果它的值==0,则外部循环将只执行一次。您有两个嵌套循环,使用相同的变量
计数器
。这很糟糕。不……它将停止询问您是否已经输入了5个偶数。@maurenYou have有一些错误或遗漏。不能同时将
计数器
用作前两个循环的变量(
for(counter=0…){for(counter=0;){
)(在执行
printf()
的最后一个循环中再次使用它是可以的,因为它在第一个
for
循环之外。)当
numEven
达到5时,循环也没有退出条件(前两条
if
语句中的一条应该是
,而
基于
numEven
的值)。问题是什么?代码(编辑后)在
num
数组中只存储五个数字,在
偶数
数组中最多存储五个数字。输入所有五个数字后,它将终止。
while (numEven < 5) {
   printf("Enter number: ");
   scanf("%d", &num[counter]);
   if (num[counter] % 2 == 0) {
       even[numEven] = num[counter];
       numEven++;
   }
}