c++ - 编写一个程序,提示用户输入一个整数,然后输出该数的各个数字和数字的总和

标签 c++

例如:输入:982

输出:9 8 2 您的总和是:19

我看到人们在循环中使用 input_number % 10 然后 input_number/10 但我还是不明白。如果我做了 982 % 10,我会得到 2,然后他们将它加到 0 + 2 = 2 的总和上,那怎么会得到 19????然后输入数字 982/10 等于 9.82 如何引导我找到 19 的解决方案?我只是非常困惑,有人可以向我解释一下并尝试解决问题并将其变成一个简单的解决方案。我很感激,并尝试使用基本的东西,比如包含命名空间 std,然后不使用数组,只使用循环和简单的数学方程式,谢谢。

最佳答案

int n,sum=0;
cin>>n;
while(n!=0)
{
  sum=sum+(n%10);
  n=n/10;   
}
/*
Since your n is an integer it will drop the value after decimal. 
Therefore, 982 will run as
Iteration 1 n=982
sum=2
n=982/10=98
Iteration 2
sum=2+(98)%10 = 10
n=98/10= 9
Finaly in iteration 3 
n=9/10=0 hence loop will terminate and sum be 19*/

关于c++ - 编写一个程序,提示用户输入一个整数,然后输出该数的各个数字和数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946480/

相关文章:

c++ - C++中的并发队列

c++ - Visual Studio 2010 Win32 应用程序无法在 Windows XP 上启动

c++ - 链接 mysql_library_end()

c++ - _mm_crc32 给出与手动版本不同的结果

c++ - 指针错误

c++ - 在 C++ 中求一个数的平方根

c++ - 为什么在 C++ 中为执行线程从未遇到过的局部变量声明分配堆栈空间?

c++ - BinaryNode 和 oldNode 未在此范围内声明

c++ - 库项目的预编译 header 中定义的变量和函数是否可供使用该库的应用程序使用?

C++ 控制台应用程序,隐藏标题栏