PTA甲级-1005 Spell It Right c++
admin
2024-05-22 17:14:24
0

文章目录

  • 题目内容
      • Input Specification:
      • Output Specification:
      • Sample Input:
      • Sample Output:
  • 一、题干大意
  • 二、题解要点
  • 三、具体实现
  • 总结

题目内容

Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.

Input Specification:

Each input file contains one test case. Each case occupies one line which contains an N (10^100).

Output Specification:

For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.

Sample Input:

12345

Sample Output:

one five

一、题干大意

给出一个非负的整数,范围在0~10^100,需要你将所有位上的字符加起来,然后用英语输出。

二、题解要点

  • 简单来说就是先把输入的数一个个分开加起来,然后把最后加起来的总和再分开,用英语输出

三、具体实现

#include 
#include using namespace std;string turnEnglish(int num);int main() {string n; //用于接收输入的字符串,因为数字过大,如果采用其他类型测试点6会过不了int sum = 0; //用来计算输入数字的总和string theResult = ""; //最后输出的结果cin >> n;/*计算输入数字的各位相加总和*/for (int i = 0; i < n.length(); ++i) {sum += (n[i] - '0');}/*将总和转化为英语*/do {theResult = turnEnglish((sum % 10)) + " " + theResult;sum /= 10;} while (sum != 0);/*由于每次转化都会有一个空格,所以最后需要去掉这个空格*/theResult = theResult.substr(0, theResult.length() - 1);cout << theResult << endl;}/**** 用于数字转英语的函数* @param num* @return*/
string turnEnglish(int num) {switch (num) {case 0:return "zero";case 1:return "one";case 2:return "two";case 3:return "three";case 4:return "four";case 5:return "five";case 6:return "six";case 7:return "seven";case 8:return "eight";case 9:return "nine";default:return "";}
}

总结

难度比较小。但是要注意以下几点:

  1. 这个数字的范围比较大,不能用数字类型的变量去接收;
  2. 如果输入了0也要做处理;
  3. 不要拼错单词。

相关内容

热门资讯

育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
编译原理陈火旺版第三章课后题答... 下面答案仅供参考! 1.编写一个对于 Pascal 源程序的预处理程序。该程序的作用是...
MacBookPro M2芯片... MacBookPro M2芯片下如何搭建React-Native环境目录软件下载环境配置 目录 写在...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
pyflink学习笔记(六):... 在pyflink学习笔记(一)中简单介绍了table-sql的窗口函数,下面简单介绍下...
创建deployment 创建deployment服务编排-DeploymentDeployment工作负载均衡器介绍Depl...
gma 1.1.4 (2023... 新增   1、地图工具    a. 增加【GetWorldDEMDataSet】。提供了一套 GEO...
AI专业教您保姆级在暗影精灵8... 目录 一、Stable Diffusion介绍    二、Stable Diffusion环境搭建 ...
vue笔记 第一个Vue应用 Document{{content}}{{...
Unity自带类 --- Ti... 1.在Unity中,自己写的类(脚本)的名字不能与Unit...
托福口语21天——day5 发... 目录 一、连读纠音 二、语料输入+造句输出 三、真题 一、连读纠音 英语中的连读方式有好几种...
五、排序与分页 一、排序 1、语法 ORDER BY 字段 ASC | DESC ASC(ascen...
Linux系统中如何安装软件 文章目录一、rpm包安装方式步骤:二、deb包安装方式步骤:三、tar....
开荒手册4——Related ... 0 写在前面 最早读文献的时候,每每看到related work部分都会选择性的忽略&...
实验01:吃鸡蛋问题 1.实验目的: 通过实验理解算法的概念、算法的表示、算法的时间复杂度和空间复杂度分析&...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
Spring Cloud Al... 前言 本文小新为大家带来 Sentinel控制台规则配置 相关知识,具体内容包括流控...
多项目同时进行,如何做好进度管... 多项目同时进行,如何做好进度管理? 大多数时候,面对项目进...
ATTCK红队评估实战靶场(二... 前言 第二个靶机来喽,地址:vulunstack 环境配置 大喊一声我...
【MySQL基础】3—多表查询 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTr...