试题编号: 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-1 数位之和
问题简述:(略)
问题分析
重写解题博客以及解题程序代码(参见参考链接),解题逻辑更加清晰,解题代码更加简洁,多种语言解法。
解法一:整数处理
按照题意,程序读入整数,根据进制原理,逐位取出其数字加起来就可以了。进制原理说的是,个位是100位,十位是101位,百位是102位,…,这是数学原理。
如果了解atoi()和itoa()是如何实现的,做这个题就太容易了。
解法二:文本处理
原理上来说,计算机程序的输入输出都是文本。直接按照文本来处理,是最直接的计算方法,计算速度更快。需要了字符解编码,进行字符转换数值的计算。

这里也给出解题的Python语言程序和Java语言程序。
程序说明:(略)
参考链接
CCF201512-1 数位之和(100分)
题记:不要忘记了,计算机的输入输出本质上是文本,也就是一串字符。

100分的C语言程序(解法一:整数处理)如下:

/* CCF201512-1 数位之和 */#include <stdio.h>int main(void)
{int n, sum = 0;scanf("%d", &n); /* 输入整数 *//* 求数位之和 */while (n) {sum += n % 10;n /= 10;}printf("%d\n", sum); /* 输出结果 */return 0;
}

100分的C语言程序(解法二:文本处理)如下:

/* CCF201512-1 数位之和 */#include <stdio.h>#define L 10
char s[L + 1];int main(void)
{int sum = 0, i;scanf("%s", s); /* 输入整数 *//* 求数位之和 */for (i = 0; s[i]; i++)sum += s[i] - '0';printf("%d\n", sum); /* 输出结果 */return 0;
}

100分的Python语言程序如下:

# CCF201512-1 数位之和 n = input()
sum = 0
for i in n:sum += int(i)
print(sum)

100分的Java语言程序如下:

/* CCF201512-1 数位之和 */import java.util.Scanner;public class Main {public static void main(String args[]){Scanner sc = new Scanner(System.in);int n = sc.nextInt(), sum = 0;while (n != 0) {sum += n % 10;n /= 10;}System.out.print(sum);}
}

CCF201512-1 数位之和(100分)【进制+文本】相关推荐

  1. 16进制文本转二进制文件

    16进制文本流转二进制文件(wireshark copy as Hex Stream的格式), 先上操作 xxd -r -p input.txt output.bin 参数解释 -r 逆向操作: 把x ...

  2. c语言16进制转换为ascii码,C--16进制文本转换为ascii码

    我用的将16进制文本转换为ascii码的C语言代码.16进制文本复制到文件test.txt中,运行程序,将得到输入. 例: 运行:./CSTRING test.txt 其中,test.txt文件内容为 ...

  3. CCF201909-3 字符画(100分)【文本处理】

    试题编号: 201909-3 试题名称: 字符画 时间限制: 5.0s 内存限制: 512.0MB 问题链接:CCF201909-3 字符画 问题简述:(略) 问题分析:(略) 程序说明:(略) 参考 ...

  4. CCF201409-3 字符串匹配(100分)【文本处理】

    试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需 ...

  5. CCF202006-3 Markdown渲染器(100分)【文本处理】

    试题编号: 202006-3 试题名称: Markdown渲染器 时间限制: 1.0s 内存限制: 512.0MB 问题链接:CCF202006-3 Markdown渲染器 问题简述:(略) 问题分析 ...

  6. CCF201912-3 化学方程式(100分)【文本处理】

    试题编号: 201912-3 试题名称: 化学方程式 时间限制: 1.0s 内存限制: 512.0MB 问题链接:CCF201912-3 化学方程式 问题简述:(略) 问题分析:文本处理问题,按字符串 ...

  7. CCF201809-3 元素选择器(100分)【文本处理】

    试题编号: 201809-3 试题名称: 元素选择器 时间限制: 1.0s 内存限制: 256.0MB 问题链接:CCF201809-3 元素选择器 问题简述:(略) 问题分析:文本处理问题,需要有好 ...

  8. CCF201703-3 Markdown(100分)【文本处理】

    试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lightweigh ...

  9. CCF201709-3 JSON查询(100分)【文本处理】

    问题描述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数 据.JSON 格式中的基本单元是值 (value),出于简化的目的本 ...

最新文章

  1. ETL工具箱 5提交维表
  2. Spring-属性文件自身的引用03
  3. 谷歌浏览器怎样通过检查验证图片路径问题
  4. 六十、深入理解Vue组件,使用组件的三个细节点
  5. 机器学习之路: python 实践 word2vec 词向量技术
  6. linux的nohup命令的用法。
  7. 干货 | 数据分析的 7 个关键步骤是什么?
  8. swith 好久不用都忘记了
  9. Echarts地图配置
  10. 三层交换技术与链路聚合
  11. 【CAN总线学习01】CAN网络概述
  12. 会声会影2018 转码导出H.265/HEVC编码视频
  13. 二层交换机 三层交换机 四层交换机的区别
  14. python的自省到底有什么用
  15. 写作论文文献导入方法
  16. Chatbot 分类
  17. CSS 清除浮动的方法
  18. 计算机网络和办公室自动化设备管理,通讯、计算机信息(含互联网)及办公自动化设备的安全保密管理暂行规定...
  19. Java pta练习题 第一章
  20. Lua基础:Lua基础

热门文章

  1. 2019-07-10
  2. 使用Flash Builder 4.5进行多平台游戏开发
  3. java 获取域名_Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
  4. summernote 不能上传图片_Typora自定义命令自动上传图片
  5. oracle sql between and 范围,oracle between and 边界有关问题
  6. 力扣-图解算法数据结构
  7. Hadoop之mapReduce有几种排序及排序发生的阶段
  8. SpringBoot集成Dubbo+Zookeeper
  9. java oop试题_java oop 试题
  10. python 关闭udp端口_UDP聊天器