这是一个获取数字输入的程序。从给定或输入的数字中,将这些数字存储在偶数中。一旦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;
}
当我已经存储了5个偶数时,我会在哪个部分停止输入时感到困惑。有什么遗失的吗?或者我做错了吗?我希望我可以通过代码获得帮助和建议。非常感谢你。
答案 0 :(得分:2)
#include <stdio.h>
#include <conio.h>
int main()
{
int x, even[5], numEven = 0;
while (numEven < 5)
{
scanf("%d", &x);
if (x % 2 == 0)
{
even[numEven++] = x;
}
}
printf("\n\nEven numbers: "); //printing even numbers
for(x=0; x<numEven; x++)
{
printf("%d, ", even[x]);
}
getch();
return 0;
}
保持读取输入直到numEven
达到5.如果读取输入为偶数,则将其存储在数组中并递增numEven
。
答案 1 :(得分:0)
如果程序要求用户输入的次数不固定且取决于用户的输入,请使用while循环。
while (numEven < 5) {
printf("Enter number: ");
scanf("%d", &num[counter]);
if (num[counter] % 2 == 0) {
even[numEven] = num[counter];
numEven++;
}
}