试题编号: | 201512-1 |
试题名称: | 数位之和 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。 评测用例规模与约定 所有评测用例满足:0 ≤ n ≤ 1000000000。 |
问题分析:使用字符串来接收这个整数,然后让各位相加即可
程序说明:s[i]-'0'是为了将s[i]转换成整数,这是程序的关键
提交后得100分的C++程序:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin>>s;
int ans=0;
for(int i=0;i<s.length();i++)
ans+=s[i]-'0';//s[i]-'0'是为了将s[i]转换成整数,这是程序的关键
cout<<ans<<endl;
return 0;
}
提交后得100分的Java程序
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner console=new Scanner(System.in);
String s;
s=console.nextLine();
int ans=0;
for(int i=0;i<s.length();i++)
ans+=s.charAt(i)-'0';
System.out.println(ans);
console.close();
}
}