1.  

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

  1.  

输入格式:

  1.  

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10的100次方。

  1.  

输出格式:

  1.  

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

  1.  

输入样例:

  1.  
  1. 1234567890987654321123456789
  1.  

输出样例:

  1.  
  1. yi san wu
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace ConsoleApp5
  9. {
  10. class Program
  11. {
  12. int Main(string[] args)
  13. {
  14. //定义一个较大的数组接受输入的数字
  15. Char[] ch = new char[];
  16. string str;
  17. int sum = ;
  18. //定义一个数组用来存放输入数字各位相加后的数字的各个位的数字
  19. int[] sum0 = new int[];
  20. int i = ;
  21. //a后面用来记录 i的值
  22. int a = ;
  23. //接受输入的数字并转化为数组存入ch[]中
  24. str = Console.ReadLine();
  25. ch = str.ToCharArray();
  26. //将对应的拼音存入string类型数组中
  27. string[] str1 = new string[] {"yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"};
  28. //输入字符串末尾自动会添加一个'\0',所以以此作为判断结束的标志
  29. for (i = ; str[i] != '\0'; i++)
  30. {
  31.  
  32. sum += str[i] - '';
  33. //不加上这一步最后一次循坏后i+1然后进入判定str[i]索引越界
  34. //所有在最后一部的时候提前break不让i再加1
  35. if (i == str.Length - )
  36. {
  37. break;
  38. }
  39. }
  40. //将i初始化
  41. i = ;
  42. //将输入数字各位加起来的数字再求其各个位的数字
  43. //注意这是倒序存放在sum0[]数组中
  44. while (sum != )
  45. {
  46. sum0[i] = sum % ;
  47. sum = sum / ;
  48. i++;
  49. }
  50. //最后一步操作i自增1,数组中从下标0开始,所有i要减去1
  51. //比如一个sum是123,有3个位,i为3也就是3次循环但是数组0,1,2就够了
  52. i--;
  53. //记录i的值在下面从i开始输出,因为在sum数组中是倒序记录的
  54. a = i;
  55. for (int j = ; j <= a; j++, i--)
  56. {
  57. //str1数组下标从0开始所以(sum0[i]) - 1]
  58. Console.Write(str1[(sum0[i]) - ]);
  59. //最后一个数不带" "
  60. if (j != a)
  61. {
  62. Console.Write(" ");
  63. }
  64. }
  65. return ;
  66.  
  67. }
  68. }
  69. }

PTA ”写出这个数“的更多相关文章

  1. PTA(Basic Level)-1002 写出这个数

    一 1002 写出这个数  读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10​10 ...

  2. PAT乙级 1002. 写出这个数 (20)

    1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字 ...

  3. PAT-乙级-1002. 写出这个数 (20)

    1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字 ...

  4. [C++]PAT乙级1002.写出这个数(20/20)

    /* 1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100. ...

  5. PAT 1002 写出这个数 (20)(代码)

    1002 写出这个数 (20)(20 分) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100 ...

  6. 【PAT】1002. 写出这个数 (20)

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...

  7. PAT1002 写出这个数 (C++实现)

    PAT乙级考试题目 1002 写出这个数 (20 分) 题目要求: 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数  ...

  8. 【算法笔记】B1002 写出这个数

    1002 写出这个数 (20 分)读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 101 ...

  9. PAT 乙级 1002.写出这个数 C++/Java

    1002 写出这个数 (20 分) 题目来源 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n ...

随机推荐

  1. Windows配置jdk环境变量

    配置环境变量 前置条件:已经安装jdk以及jre 操 作:右击"我的电脑"-->"属性"-->"高级系统设置"-->&qu ...

  2. Windows 桌面利用 Navicat等工具连接 虚拟机Mysql

    1.mysql>use mysql;2.mysql>update user set host = '%' where user ='root';3.mysql>select host ...

  3. 项目使用Hbase进行数据快速查询的代码案例

    之前项目中对于数据详情的查询使用的ddb技术,由于成本过高,现考虑使用开源的hbase框架,借此机会进行hbase的代码案例记录,之前已经对 hbase的原理进行介绍,介绍了hbase中的rowkey ...

  4. Linux文件权限基础回顾介绍

    文件的权限 文件权限的概述: 权限贯穿运维的一生

  5. 阿里RDS

    白名单设置: 创建高权限帐号:

  6. Oracle - 函数及多表关联

    函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.函数根据处理的数据分为单行函数和聚合函数(组函数),组函数又被称作聚合函数,用于对多行数据进行 ...

  7. hashmap 为什么初始化容量是2的幂次方

    个人理解 做下记录,不正确的地方望不吝赐教 这是hashmap初始化容量时候 对容量大小做的处理,保证初始化容量为最近的2的幂次方(JDK1.8) static final int tableSize ...

  8. 二项式反演/minmax容斥初探

    世界是物质的,物质是运动的,运动是有规律的,规律是可以被认识的 二项式反演 \[ g_n=\sum_{i=0}^n \binom{n}if_i\Rightarrow f_n=\sum_{i=0}^n( ...

  9. PHP以星号隐藏用户名手机号码和邮箱实例

    一款简单实用的PHP以星号隐藏用户名手机号码和邮箱实例,将用户的一些文字信息隐藏一部分用星号代替,以便于保护用户隐私. 隐藏函数: function hideStar($str) { //用户名.邮箱 ...

  10. 并不对劲的bzoj4945:loj2305:uoj317:p3825[NOI2017]游戏

    题目大意 2-SAT,其中有\(d\)(\(d\leq 8\))个点是\(3-SAT\). 题解 枚举\(d\)个点不取三个中(假设三个为\(a,b,c\))的哪一个,然后整体变成做\(2-SAT\) ...