试题编号: | 201512-1 |
试题名称: | 数位之和 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
给定一个十进制整数n,输出n的各位数字之和。
输入格式
输入一个整数n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤ n ≤ 1000000000。
|
问题链接:CCF201512赛题。
问题描述:给定一个十进制整数n,输出n的各位数字之和。
问题分析:
如果懂得atoi()和itoa()是如何实现的,做这个题就太容易了。这个问题的关键是如何将一个整数的各个位取出来。一个数的10的余数是个位,利用这个原理,就可以将整数的各个位取出并求和。
程序说明:这里写了C语言和C++语言两个版本的程序。
提交后得100分的C语言程序如下:
/* CCF200512-1 数位之和 */
#include <stdio.h>
int main(void)
{
int n, sum=0;
// 输入整数
scanf("%d", &n);
// 求数位之和
while(n) {
sum += n % 10;
n /= 10;
}
// 输出结果
printf("%d\n", sum);
return 0;
}
提交后得100分的C++语言程序如下:
/* CCF200512-1 数位之和 */
#include <iostream>
using namespace std;
int main()
{
int n, sum=0;
// 输入整数
cin >> n;
// 求数位之和
while(n) {
sum += n % 10;
n /= 10;
}
// 输出结果
cout << sum << endl;
return 0;
}