gpt4 book ai didi

c - 我不太明白它添加 5 位输入的总和的语法

转载 作者:行者123 更新时间:2023-11-30 14:39:17 27 4
gpt4 key购买 nike

我一直在阅读讨论代码,但不明白输出 5 位数字之和的语法。我认为 C 从上到下、从左到右读取所有内容,那么 sum % 10 和/10 在语法上是怎样的呢?

这是来自hackerrank的挑战,输入5位数字,输出5位数字之和。

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {

int n;
scanf("%d", &n);
int sum = 0;

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

printf("%d\n", sum);
//Complete the code to calculate the sum of the five digits on n.
return 0;
}

样本输入10564样本输出16

最佳答案

总和不是“语法上既是 % 10 又是 /10”。

n % 10n 的最低有效(最右边)数字。
这就是添加到 sum 中的内容。

然后 n/= 10 (n = n/10) 从 n 中“砍掉”该数字,然后重复该过程。

您可以手动完成它:

设置n = 12345sum = 0

12345 不为零,因此进入循环:

12345 % 105,因此 sum += 5,即 5
12345/101234 ,因此 n = 1234

现在,n1234,它不为零。

1234 % 104,因此 sum += 4,即 9
1234/10123,因此 n = 123

123 不为零...

依此类推,直到n变为零,这将在只剩下一位数字后发生。

关于c - 我不太明白它添加 5 位输入的总和的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56152242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com