一、原题
试题编号: | 201512-1 |
试题名称: | 数位之和 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
给定一个十进制整数
n,输出
n的各位数字之和。
输入格式
输入一个整数
n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤
n ≤ 1000000000。
|
这是一道签到题。关于求各个位数的代码要掌握到不需要思考直接写出的地步,我在北理工考研掌握知识点中第一个知识点就是这一个,没有原因,没有为什么,就像99乘法表,背下来就会,就能用,不背难道要像一部分英国学生算个位数乘法那样画图画线数交点慢慢推?说什么创新,先把该会的全掌握透彻熟练了再说创新吧,不然只是重复前人的老路,不会有什么发展。不过说实话,我其实在考虑到底有几位时还是有些迟滞的,就如for循环里面的i--我第一次没加,过了几十秒左右才加上。
第一次编译错误是因为没有声明i。改了下就对了。大约用了4分钟。
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
int arr[10]={};
int i;
while(n){
arr[i++]=n%10;
n/=10;
}
int sum=0;
for(i--;i>=0;i--){
sum+=arr[i];
}
cout<<sum;
return 0;
}