1. 问题链接:CCF201512-1 数位之和
试题编号: | 201512-1 |
试题名称: | 数位之和 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
给定一个十进制整数
n,输出
n的各位数字之和。
输入格式
输入一个整数
n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤
n ≤ 1000000000。
|
2. 问题分析:
在计算机中数字0-9对应ASCII字符编码为0-9,字符 ‘0’-‘9’ 对应ASCII字符编码为48-57,char类型变量在内存中实际存储为ASCII字符编码,即整型数字,所以可以按照C string获取输入,通过循环将数字字符转码,即减去48或者 ‘0’,再累加到ans变量即可
3. C语言程序实现:
#include <stdio.h>
#include <string.h>
int main()
{
char n[10];
scanf("%s",n);
int len=strlen(n),ans=0;
for (int i=0;i<len ;i++ )
{
ans+=(n[i]-48);
}
printf("%d",ans);
return 0;
}