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