试题编号: | 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 ", 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; }