在C ++中找到偶数和奇数位数的数字总和

假设我们有一个整数N,我们必须找到奇数位和偶数位的和。因此,如果数字是153654,则odd_sum = 9,even_sum = 15。

为了解决这个问题,我们可以从最后一位提取所有数字,如果原始数字的位数是奇数,则最后一位必须是奇数位,否则将是偶数位。处理完一个数字后,我们可以将状态从奇数转换为偶数,反之亦然。

示例

#include<iostream>

using namespace std;

bool isOdd(int x){

   if(x % 2 == 0)

   return false;

   return true;

}

void getSum(int n) {

   bool odd_check = isOdd(n);

   int odd_sum = 0, even_sum = 0;

   while (n != 0) {

      if (odd_check)

         odd_sum += n % 10;

      else

         even_sum += n % 10;

      odd_check = !odd_check;

      n /= 10;

   }

   cout << "Sum odd : " << odd_sum << endl;

   cout << "Sum even : " << even_sum;

}

int main() {

   int n = 153654;

   getSum(n);

}

输出结果

Sum odd : 9

Sum even : 15

以上是 在C ++中找到偶数和奇数位数的数字总和 的全部内容, 来源链接: utcz.com/z/361062.html

回到顶部