21xrx.com
2024-11-10 00:29:39 Sunday
登录
文章检索 我的文章 写文章
如何计算C++中各位数字之和?
2023-06-30 03:36:22 深夜i     --     --
C++ 计算 位数 数字

在C++编程中,计算各位数字之和是一个非常基本的操作。可以使用while循环或递归来实现该操作。下面是使用while循环的示例代码:


#include <iostream>

using namespace std;

int main() {

  int number, sum = 0;

  cout << "请输入一个正整数: ";

  cin >> number;

  while (number > 0) {

    sum += number % 10;

    number /= 10;

  }

  cout << "各位数字之和为: " << sum << endl;

  return 0;

}

首先,向用户请求输入一个正整数。然后使用while循环来计算每个数字,并将它们加入sum中。通过number % 10可以获取number的最后一位数字,然后将该数字添加到sum中,通过number /= 10来从number中移除最后一位数字,这样可以遍历所有数字。最后,在控制台输出结果。

还可以使用递归的方式,其实现方法如下:


#include <iostream>

using namespace std;

int SumOfDigits(int number) {

  if (number == 0)

    return 0;

   else {

    return number % 10 + SumOfDigits(number / 10);

  }

}

int main() {

  int number;

  cout << "请输入一个正整数: ";

  cin >> number;

  cout << "各位数字之和为: " << SumOfDigits(number) << endl;

  return 0;

}

使用递归的方式,我们将数字分解成单个数字,然后将它们累加起来。函数SumOfDigits在number为0时返回0。如果number不为0,则我们使用递归来计算number / 10的各位数字之和,并将其加上number % 10。最后,在控制台输出结果。

无论使用while循环还是递归,计算C++中各位数字之和是非常简单的。这个技巧适用于很多实际问题,例如计算输入数字的校验和或检查信用卡号码是否有效。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复