如何输入5个数字并检查它们是否在C中为奇数或偶数

时间:2018-09-03 13:27:41

标签: c

我能够检查一个数字是奇数还是偶数,但是如何处理5个数字呢?不确定我该怎么做。我尝试用5来做到这一点,但是没有用。

enter image description here

(图片中我尝试做五个)

enter image description here

(一个整数的图片)

3 个答案:

答案 0 :(得分:0)

我该如何使用5个数字?一种方法是每次使用for/while循环和内部循环扫描整数,并检查它是偶数还是奇数。例如

int number = 0;/* initialize with 0 */
for(int row = 0 ; row < 5;row++) {
        printf("Enter an integer \n");
        scanf("%d",&number); /* scan every time */
        if(number % 2 == 0 ) {
                printf("%d is even \n",number);
        }
        else {
                printf("%d is odd \n",number);
        }
}

或者最好使用 array 。声明一个由5个整数组成的数组并使用array进行所需的操作。对于例如

int number[5]; /* array of 5 int elements */
int ele = sizeof(number)/sizeof(number[0]);
for(int row = 0 ; row < ele;row++) {
        printf("Enter an integer \n");
        scanf("%d",&number[row]); /* scan every time */
        if(number[row] % 2 == 0 ) {
                printf("%d is even \n",number[row]);
        }
        else {
                printf("%d is odd \n",number[row]);
        }
}

还要检查给定数字是偶数还是奇数,可以使用按位运算符。例如在上面的循环中

(number[row] & 1) ? printf("%d is odd \n",number[row]) : printf("%d is even \n",number[row]) ;

答案 1 :(得分:0)

我没有看过您在问题中发布的图片。正如您所指出的那样,不鼓励将已附加图像附加到SO问题上,因此您对此表示不满。我没有看图片。

确定提供的int数组是偶数还是奇数非常简单。您需要执行循环操作。

#include <stdio.h>
int main() {

    int size = 4;
    int number[size];
    int i;

    printf("Enter an integer: ");

    //Taking in an int from stdin  
    for (i=0; i < size; i++)
        scanf("%d", &number[i]);

    //Checking the number is even or odd
    for (i=0; i < size; i++)
        printf("%d: %s ", number[i], (number[i] % 2) ?"odd":"even");


    printf("\n");

    return 0;
}

输出:

./a.out 
Enter an integer: 2
4
5
8
2:even 4:even 5:odd 8:even 

答案 2 :(得分:0)

您可以

-使用数组存储数字,并在输入所有数字后显示奇数或偶数

int i;
int *num;
num = malloc(5 * sizeof(int));
i = 0;

while (i < 5)
{
    printf("Enter an integer\n");
    scanf("%d", &num[i++]);
}
i = 0;
while (i < 5)
    printf("%d is %s\n", num[i++], ((num[i] % 2 == 0) ? ("odd") : ("even")));
free(num);

-和输入后一样显示输入结果

int i;
int num;
i = 0;

while (i < 5)
{
    printf("Enter an integer\n");
    scanf("%d", &num);
    printf("%d is %s\n", num, ((num % 2 == 0) ? ("odd") : ("even")));
}

很久没写C了,可能有些愚蠢的事情。