C# 遍历一个 int 并将每个字符添加到总和中

本文关键字:添加 字符 遍历 int 一个 | 更新日期: 2023-09-27 18:31:33

while (sum != 0)
{
    n += sum % 10;
    sum /= 10;
}

我知道代码是做什么的,但有人可以解释我它是如何工作的吗?

C# 遍历一个 int 并将每个字符添加到总和中

% 10返回整数的模数 10(除以 10 后的余数),因此这基本上是最后一个十进制数字。

/= 10除以 10。由于它是整数除法,逗号后面的部分被截断,所以这基本上删除了最后一个数字。

因此,对于数字 123,这种情况会发生;

n = n + 3;
sum = 123 / 10 = 12;
n = n + 2;
sum = 12 / 10 = 1;
n = n + 1;

所以sum是一个不好的名字,因为它实际上是包含输入并被处理的变量。 n实际上是包含总和的变量。应将n初始化为 0 并sum输入整数,以使此操作正常工作。

所以这是一个计算整数中所有数字之和的程序。

工作原理:

它采用数字/10 的其余部分,并将其迭代地添加到初始化为 0 的变量中。

步骤顺序:假设总和 = 2155,n = 0在第一次迭代中,

n += sum % 10; //Here, n = n+ sum % 10. So, n will be evauated to 5 since, 2155 % 10 = 5
sum /= 10; // Here, sum = sum / 10, since sum is an integer, the value of sum will now be 2155 / 10 = 215 

这种情况反复发生,直到总和的值变为 0,n 的值将为 2+1+5+5 = 13。

希望这有帮助。