手动检查索引

问题描述 投票:0回答:2

如何手动检查给定整数的索引? 例如, 我有数字 3189。我想检查索引并确定它们是否为偶数。我应该把它变成一个数组检查索引吗?我有点失落了。

如果我将其转换为数组,并且数组的每个元素都是该数字的数字之一,那么这就可以了。但我不知道该怎么做?这样的事可能吗?

到目前为止我已经写了;

int count;
int index;
for (int i = 0; i < count; i++){
    index = i;
    if (index % 2 == 1){
    index *= 3;
    }
}

但我发现很难概念化。

arrays c
2个回答
1
投票

以下是从数字中提取数字的方法:

    int number = 3189;
    int even = 0;
    int odd = 0;
    while (number != 0) {
        int digit = number % 10; // Extract the last digit
        if (digit % 2 == 0) // check if digit is even
           even++;
        else
           odd++;
        number = number / 10; // Remove the last digit
    }

我假设给定的数字是整数,你只关心找到偶数和奇数的数字。

快速空运行:

3189

Iteration1: 
digit = 9
even = 0, odd = 1
number = 318

Iteration2: 
digit = 8
even = 1, odd = 1
number = 31

Iteration3: 
digit = 1
even = 1, odd = 2
number = 3

Iteration4: 
digit = 3
even = 1, odd = 3
number = 0

0
投票

使用

sprint()/snprint()
转换为字符串更简单:

char str[/* Some max limit that would be enough */];
sprintf(str, "%d", /* Some integer literal or variable */); /* Use the proper format specifier if it is not an `int` */

那么每个数字的值为

array[i] - '0'
。 - @天气风向标

© www.soinside.com 2019 - 2024. All rights reserved.