PAT甲级1002-写出这个数
来源:互联网 发布:java与xml 编辑:程序博客网 时间:2024/05/22 06:08
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例: 1234567890987654321123456789 输出样例: yi san wu
思考:利用string读取输入,用switch来检验每一位数字究竟是什么,并相加。然后算出和的每一位数字,并转换成ASCII码,存在numbersum里面,并再次用switch来输出结果。注意格式控制。
#include<iostream>#include<string>using namespace std;void static readnumber(char num);int main(){ string input; cin >> input; unsigned int sum = 0; for (unsigned int i = 0; i < input.length(); i++) { sum += (unsigned int)input[i] - 48; } string numbersum = ""; while (1) { numbersum += (char)(sum % 10) + 48; sum /= 10; if (sum / 10 == 0) { if (sum % 10 != 0) numbersum += (char)(sum % 10 + 48); break; } } string result = ""; for (int i = numbersum.length() - 1; i >= 0; i--) result += numbersum[i]; for (int i = 0; i < result.length(); i++) { readnumber(result[i]); if (i != result.length() - 1) cout << " "; } system("pause"); return 0;}void static readnumber(char num){ switch ((int)num - 48) { case 0: cout << "ling"; break; case 1: cout << "yi"; break; case 2: cout << "er"; break; case 3: cout << "san"; break; case 4: cout << "si"; break; case 5: cout << "wu"; break; case 6: cout << "liu"; break; case 7: cout << "qi"; break; case 8: cout << "ba"; break; case 9: cout << "jiu"; break; }}
收获:要善用string读取长数字,这在以后很有用。可以使用string自带的函数length。如:
string name;int length=name.length();
阅读全文
0 0
- PAT甲级1002-写出这个数
- pat 1002 写出这个数
- PAT 1002 写出这个数
- 1002 写出这个数 PAT
- PAT,1002,写出这个数
- PAT 1002 写出这个数
- PAT 1002写出这个数
- PAT 1002 写出这个数
- pat 1002 写出这个数
- PAT甲级C语言.1002. 写出这个数
- PAT-写出这个数
- PAT.写出这个数
- PAT basic 1002 : 写出这个数
- 【PAT Basic Level】1002 写出这个数
- PAT-B 1002 写出这个数 (20)
- PAT(basic level) 1002 写出这个数
- PAT-1002B 写出这个数 (20)
- PAT乙级1002 写出这个数
- TexturePacker免费申请注册码
- 二维关联数组转字符串
- HashMap相关问题
- 02-Nginx反向代理和负载均衡
- printf()格式化输出详解
- PAT甲级1002-写出这个数
- 递归显示文件夹下的所有目录(带绝对路径):并且解决中文乱码问题
- 使用BBR一键脚本为你的CentOS/Debian/Ubuntu系统加速
- 【问题】windows 10下报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES
- 跨域请求 禁用网络安全
- CSS总结——1
- 漂亮的php验证码类
- heap_1.c详解--------FreeRTOS内存管理
- 8-30(高斯,树状数组,分类讨论,stl)