7-1 币值转换 (20 分)

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

实验代码:


#include <stdio.h>
#include <string.h> int main(void)
{
char date[11];
int digit = 0; gets_s(date,11);
for (int i = 0; i < 11; i++)
{
if (date[i] == '\0') break;
digit++;
}
const int length = digit;
for (int i = 0; i < length; i++, digit--)
{
char c = date[i];
switch (c)
{
case '0':c = 'a'; break;
case '1':c = 'b'; break;
case '2':c = 'c'; break;
case '3':c = 'd'; break;
case '4':c = 'e'; break;
case '5':c = 'f'; break;
case '6':c = 'g'; break;
case '7':c = 'h'; break;
case '8':c = 'i'; break;
case '9':c = 'j'; break;
default : break;
}
if (c == 'a')
{
if (digit == 5)
printf("W");
else
{
for (i++, digit--; i < length; i++, digit--)
{
if (date[i] == '0')
if (digit == 5)
printf("W");
else
{
printf("a");
i--;
digit++;
break;
}
}
}
}
else
{
printf("%c", c);
switch (digit)
{
case 9:printf("Y"); break;
case 8:printf("Q"); break;
case 7:printf("B"); break;
case 6:printf("S"); break;
case 5:printf("W"); break;
case 4:printf("Q"); break;
case 3:printf("B"); break;
case 2:printf("S"); break;
default:break;
}
}
}
return 0;
}

设计思路:

本题调试过程碰到问题及解决办法:

遇到的问题:部分正确

解决的办法:通过观察代码,找助教帮忙检查,发现应该先判断0条件。

运行结果截图:

PTA编程总结2—币值转换的更多相关文章

  1. 趣味PAT--循环-19. 币值转换(20)

    One visible minute on the stage is attributed to ten years of invisible practice off the stage. &quo ...

  2. pta编程总结2

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

  3. pta编程总结

    币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字母a-j ...

  4. 2018秋寒假作业5—PTA编程总结2

    1.实验代码: 7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌&qu ...

  5. PTA编程总

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字 ...

  6. PTA编程总结二

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字 ...

  7. PTA编程总结一

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字 ...

  8. 2019寒假作业二:PTA7-1币值转换

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字 ...

  9. 大数据技术之_16_Scala学习_06_面向对象编程-高级+隐式转换和隐式值

    第八章 面向对象编程-高级8.1 静态属性和静态方法8.1.1 静态属性-提出问题8.1.2 基本介绍8.1.3 伴生对象的快速入门8.1.4 伴生对象的小结8.1.5 最佳实践-使用伴生对象解决小孩 ...

随机推荐

  1. 爬虫-----selenium模块自动爬取网页资源

    selenium介绍与使用 1 selenium介绍 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作.     sel ...

  2. hexo建站报错解决记录

    安装某主题依赖 nodejieba 库,该库又依赖 windows-build-tools 和 node-gyp git bash shell 下 cnpm install -g windows-bu ...

  3. Spring Boot事务管理(上)

    摘要 本文主要介绍基于Spring Boot的事务管理,尤其是@Transactional注解详细用法.首先,简要介绍Spring Boot中如何开启事务管理:其次,介绍在Spring,Spring ...

  4. 2019-04-27 Python之有关文件的学习

    一.文件 1.简介 二.文件的相关操作 1.打开文件 例如:  f = open("F:\\text.txt", 'r') 只读模式,不可写入 2.读取文件 例如: f.readl ...

  5. java中使用JDBC的preparedStatement批处理数据的添加

    在项目中我们偶尔可能会遇到批量向数据库中导入数据,如果批处理的情况较多的情况下可以使用spring batch,如果只是一个导入功能的话可以考虑使用jdbc的preparedStatement处理. ...

  6. nginx中的超时设置,请求超时、响应等待超时等

    nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的需求配置 proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响 ...

  7. 2018-2019-2 网络对抗技术 20165321 Exp5 MSF基础应用

    1. 实践内容(3.5分) 1.1一个主动攻击实践: (1分) 首先攻击Windows XP: 在攻击机kali输入msfconsole进入控制台,依次输入以下指令: msf > use exp ...

  8. .Net Core部署IIS

    1.环境安装 https://dotnet.microsoft.com/download/dotnet-core 下载Runtime & Hosting Bundle包安装,iis模块会出现支 ...

  9. Sublime 个人常用快捷键

    Sublime 个人常用快捷键 Hot Key Alt + F3 选中文本所以有相同项;同多次Ctrl + D Ctrl + L 选中整行,继续按可继续选 Ctrl + Shift + M 选择括号内 ...

  10. beego 初体验 - 上传文件

    页面: controller: 将form表单文件上传到本地,并保存.