【问题描述】 编写函数sum(x),求整数x的各位数字之和。 在main函数中测试该函数:从键盘输入一非负整数,然后调用sum函数计算各位数字之和并输出结果。 【输入形式】 输入一个正整数。 【输出形式】 输出该整数各位数字之和。 【样例输入】 58 【样例输出】 13 【样例说明】 输入整数58,其各位数字之和为:5+8 = 13。
时间: 2023-06-14 14:04:17 浏览: 149
函数的首部-C语言学习PPT
以下是一个可能的解法:
```python
def sum(x):
"""
计算整数x的各位数字之和
"""
s = 0
while x > 0:
s += x % 10 # 取出 x 的个位数字并累加到 s 中
x //= 10 # 将 x 的个位数字去掉
return s
# 测试函数
x = int(input("请输入一个正整数:"))
print(sum(x))
```
解释:
首先定义了一个 `sum` 函数,接收一个整数 `x` 作为参数。在函数中,我们使用循环来对 `x` 的各位数字进行遍历。具体来说,我们不断地对 `x` 取模(`x % 10`),这样可以得到 `x` 的个位数字,将其累加到变量 `s` 中。然后我们将 `x` 除以 10(`x // 10`),这样可以将个位数字去掉,得到新的 `x`,继续进行下一轮循环。当 `x` 变成 0 时,我们就遍历完了 `x` 的所有位数,此时 `s` 就是各位数字之和,我们将其返回即可。
在主程序中,我们首先从键盘输入一个正整数 `x`,然后调用 `sum` 函数计算其各位数字之和,最后输出结果。
阅读全文