博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PATA1082Read Number in Chinese
阅读量:5121 次
发布时间:2019-06-13

本文共 1561 字,大约阅读时间需要 5 分钟。

  • 有几点需要注意的地方一是将right转化为与left在在同一节
while (left + 4 <= right){    right -= 4;//每次将right移动4位,直到left与right在同一节}
  • 二是输出的时候每一节中的位,以及后面的亿和万

参考代码:

#define _CRT_SECURE_NO_WARNINGS#include
#include
#include
char num[10][5] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };char wei[5][5] = { "Shi","Bai","Qian","Wan","Yi" };int main(){ char str[15]; scanf("%s", str);//按字符串输入数字 int len = strlen(str); int left = 0, right = len - 1;//分别指向字符串的首尾元素 if (str[0] == '-') { printf("Fu"); left++; } while (left + 4 <= right) { right -= 4;//每次将right移动4位,直到left与right在同一节 } while (left < len) { bool flag = false;//flag==false表示没有累计的0 while (left <= right) { if (left > 0 && str[left] == '0') { flag = true; } else { if (flag == true) { printf(" ling"); flag = false; } if (left > 0) printf(" ");//只要不是首位都要在每个后面输出空格 printf("%s", num[str[left] - '0']);//输出当前位数字 if (left != right) { printf(" %s", wei[right - left - 1]); } } left++; } if (right != len - 1) { printf(" %s", wei[(len - 1 - right) / 4 + 2]); } right += 4; } system("pause"); return 0;}

转载于:https://www.cnblogs.com/tsruixi/p/11240585.html

你可能感兴趣的文章
asp.net与oracle连接字符串
查看>>
opencv学习之路(4)、Mat类介绍,基本绘图函数
查看>>
POJ 1308
查看>>
Django+xadmin打造在线教育平台(二)
查看>>
BZOJ 4836: [Lydsy1704月赛]二元运算 分治FFT
查看>>
[学习笔记] MySQL入门
查看>>
ecshop模板的smarty foreach详解
查看>>
CSCI 2132: Software Development
查看>>
域名、网站名、URL
查看>>
jQuery对象和DOM对象的使用
查看>>
yum安装各种服务
查看>>
SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原
查看>>
mysql 意向锁的作用
查看>>
spring aop
查看>>
windows下端口占用解决办法,解决命令
查看>>
初识kbmmw 5 中httpsys的支持
查看>>
以前自学OC的笔记:在ObjectC使用MRC
查看>>
asp.net web forms和asp.net mvc比较
查看>>
召开团队项目计划会议总结
查看>>
contentObserver---contentprovider
查看>>