CCF201403-2题九十分
这是CCF201403-2题,想问问代码测试九十分,缺在什么地方
问题描述
给定一个十进制整数n,输出n的各位数字之和。
输入格式
输入一个整数n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤ n ≤ 1000000000。
根据参考资料中的两段代码,我们可以发现他们是通过遍历输入的整数n的每一位数字,然后求和的方式来解决问题的。
第一段代码中,通过定义了一个结构体node,来存储输入的整数n的每一位数字和对应的结果。然后使用vector来存储所有的node对象,排序后计算前缀和,并根据条件判断结果输出。
第二段代码中,使用两个vector来分别存储整数n的每一位数字为0和1的情况。使用set来存储整数n的每一位数字,在遍历set时,通过对比vector中的元素来求解结果。
根据以上两段代码的思路,可以得出以下解决方案: 1. 首先定义一个变量sum来存储数字之和的结果,初始化为0。 2. 使用循环遍历输入的整数n的每一位数字。 - 将遍历得到的数字与sum相加,结果存入sum中。 3. 输出sum作为答案。
具体实现如下:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
cout << sum << endl;
return 0;
}
这段代码通过循环遍历得到整数n的每一位数字,并将其相加存入sum中,最后输出sum作为答案。