PAT (Basic Level) 1002 写出这个数 (20 分)
发布日期:2021-05-04 01:05:19
浏览次数:31
分类:技术文章
本文共 1606 字,大约阅读时间需要 5 分钟。
1.题目描述
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例: 1234567890987654321123456789
输出样例: yi san wu
2.思路解析
- 首先用户键入的整数会以字符串的形式保存;
- 遍历字符串,让各个位置上的元素相加,此处注意用下标访问字符串元素返回值为char,所以相加时要让元素先减去 ‘0’,最后将得到的结果转为string类型;
- 将“ling”~“jiu“保存到一维数组中,结果字符串中的各元素,即为其汉语拼音在数组中的下标。
3.代码
public static string WriteNum1(string str) { string s = ""; int sum = 0; // 求出各位之和 for (int i = 0; i < str.Length; i++) { sum += (str[i] - '0'); } string[] PinYin = { "ling", "yi","er","san","si","wu","liu","qi","ba","jiu" }; #region 方法1:求出每一位数字 // list集合用于存放和的每一位数字 //List list = new List (); //while (sum != 0) //{ // list.Add(sum % 10); // sum /= 10; //} //for (int i = list.Count -1 ; i > 0 ; i--) //{ // s += PinYin[list[i]]+" "; //} //s += PinYin[list[0]]; #endregion #region 方法2:将和直接转为字符串,遍历各个元素 str = sum.ToString(); for (int i = 0; i < str.Length - 1; i++) { s += PinYin[str[i] - '0'] + " "; } s += PinYin[str[str.Length - 1] - '0']; #endregion return s; }
4. 总结
对于求一个整数的各个位置上数字的两种思路:
- 用%/来求,将结果保存在数组中;
- 也可以直接将其转换成字符串,字符串相当于一个只读char数组,又因为char和int可以隐式转换,所以用字符串数组中的元素减去‘0’即为其元素值
对于与整数存在一一对应的关系,可以将其用数组存储起来利用下标进行访问;也可以采用流程控制语句进行判断。
转载地址:https://blog.csdn.net/weixin_45027619/article/details/116149052 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月18日 00时57分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos vnc配置笔记
2019-04-27
让Squid 显示本地时间
2019-04-27
linux mysql 命令 大全
2019-04-27
清除Squid缓存的小工具
2019-04-27
Varnish Cache 3.0.0安装
2019-04-27
2011年6月编程语言关注度排行
2019-04-27
Varnish使用小结
2019-04-27
千万级并发HAproxy均衡负载系统介绍
2019-04-27
什么是A记录、MX记录、CNAME记录
2019-04-27
MongoDB简介
2019-04-27
Varnish purges 缓存清除
2019-04-27
Linux下redis安装部署
2019-04-27
水平切分与垂直切分
2019-04-27
MySQL引擎
2019-04-27
MySQL下的NoSQL解决方案HandlerSocket
2019-04-27
Apache服务器下使用 ab 命令进行压力测试
2019-04-27
查看Firefox中的缓存
2019-04-27
http header头设置反向代理不缓存
2019-04-27
配置MySQL主从复制
2019-04-27
CI框架如何删除地址栏的 index.php
2019-04-27