1.实验代码:

7-1 币值转换 (20 分)

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

include<stdio.h>

include<math.h>

int main()

{

int yuan,chu_2,chu_1,i,p,a=0;

char op;

scanf("%d",&yuan);

chu_1=yuan;
for(i=-1;chu_1!=0;i++){
chu_1=chu_1/10;
}
int A[i];
chu_1=yuan;
for(a=0;chu_1!=0;i--,a++){ //从最大数位开始逐个取出各数字
p=pow(10,i);
chu_2=chu_1/p;
chu_1=chu_1%p;
switch(chu_2){ //从最大数位开始逐个输出
case 0:op='a';break;
case 1:op='b';break;
case 2:op='c';break;
case 3:op='d';break;
case 4:op='e';break;
case 5:op='f';break;
case 6:op='g';break;
case 7:op='h';break;
case 8:op='i';break;
case 9:op='j';break;
}
A[a]=chu_2; //记录数字
if(chu_2==0){ //零为特殊情况,需要单独判断
if(i==6&&A[a-1]!=0)
printf("W");
if(i==5&&A[a-1]!=0)
printf("W");
if(i==4&&A[a-1]!=0)
printf("W");
if(A[a-1]!=0&&i<8) //若前一位不为零,则输出零
printf("%c",op);
}
if(chu_2!=0) //不为零的情况可以直接按规律输出
printf("%c",op);
if(i==5&&chu_2!=0) //当数位大于万位时是特殊情况,需要调整大写字母的输出
printf("S");
if(i==6&&chu_2!=0)
printf("B");
if(i==7&&chu_2!=0)
printf("Q");
if(i==8&&chu_2!=0)
printf("Y");
if(i-1>=0&&chu_2!=0&&i-1<=4) //数位小于或等于万位时为通常情况,直接按规律输出
switch(i){
case 1:printf("S");break;
case 2:printf("B");break;
case 3:printf("Q");break;
case 4:printf("W");break;
}
}
if(yuan==0) //若币值为零,则直接输出字母a后结束程序
printf("a");
return 0;

}

2.设计思路

输入对应的数值

int a,b,c,d,e,n,i,j,m,N,k;

调用scanf函数和for语句

代码分为输出代表数字的小写字母部分和代表数位的大写字母部分。

切记从高位数到低位数的分离

小写字母部分又分为数字为零的特殊情况和非零的通常情况,大写字母部分又分为数位大于万位的特殊情况和小于等于万位的通常情况。

第三步通常情况都为直接输出对应的字母,特殊情况按情况讨论。

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

问题





解决方法

在编译器上面进行编译运行,发现错误,并翻阅书籍,然后一个一个解决错误

4.运行结果截图

![](https://img2018.cnblogs.com/blog/1582777/201902/1582777-20190219152708426-1911425784.png

2018秋寒假作业5—PTA编程总结2的更多相关文章

  1. 2018秋寒假作业6—PTA编程总结3

    1.实验代码 7-1 抓老鼠啊~亏了还是赚了? (20 分) 某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T) ...

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

    7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...

  3. 2018秋寒假作业4——PTA编辑总结1

    #include<stdio.h> #include<math.h> int main(void) { int n,i,j,p,m,ge,N,k; char op; ){ sc ...

  4. 2018秋寒假作业6- -PTA编程总结3

    PTA3抓老鼠啊~亏了还是赚了?思路: 首先定义变量并初始化为零,然后用if-else语句判断其关系和计算奶酪数量及盈利情况.

  5. 2018秋寒假作业4- -PTA编程总结1

    PTA1打印沙漏.打印沙漏中的“沙漏形状”,就是每行输出的奇数符号与各行符号中心对齐:相邻两行符号数相差2:符号数从大到小递减到1,再从小到大递增.在做的时候出了几次错,编译发先是几个小地方出错了.以 ...

  6. Q114寒假作业之割绳子

    割绳子 TimeLimit:1000MS  MemoryLimit:10000K 64-bit integer IO format:%lld Problem Description 已知有n条绳子,每 ...

  7. 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板

    第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...

  8. 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评

    第7单元 - 作业2:编程互评 查看帮助 返回   提交作业(剩余10天) 完成并提交作业     作业批改 互评训练   互评作业   自评作业     成绩公布 查看成绩   由于在线编程不支持 ...

  9. Luogu P2717 寒假作业(平衡树)

    P2717 寒假作业 题意 题目背景 \(zzs\)和\(zzy\)正在被寒假作业折磨,然而他们有答案可以抄啊. 题目描述 他们共有\(n\)项寒假作业.\(zzy\)给每项寒假作业都定义了一个疲劳值 ...

随机推荐

  1. ENVI5.3 影像重采样 和 tiff 保存

    输入---之前用envi4.5处理后的2013分类影像---输出重采样的影像 直接在工具栏搜索 resize data---出来对话框, 这里有几种方法----sample line 指的行列号,可以 ...

  2. soupUI基础使用方法

    SoapUI简介 文章出处:http://www.cnblogs.com/hong-fithing/ SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功 ...

  3. 日志管理中获取浏览器、操作系统、IP等信息。。。

    今天在书写日志管理的模块的时候,遇到了一些问题,首先是日志的添加,就是在登录的时候记下他登录的名字以及登录的时间和登录的一些信息给存入到日志表中,这一下给蒙了,于是就查找资源,在这里我就简单地总结一下 ...

  4. 06_mysql先分页查询再排序

    数据库字段: SELECT * FROM (SELECT * FROM tb_item LIMIT 3,3) temp_table ORDER BY id DESC; 查询结果:

  5. js常用随手记

    1. 判断是否是空对象 let myObject={} Object.keys(myObject).length 2. void 0 代替 undefined undefined 不是保留字,在局部作 ...

  6. 练习题:试使用C#编程实现银行、ATM等功能

    练习题:试使用编程实现银行.ATM等功能 using System; using System.Collections.Generic; using System.Linq; using System ...

  7. oracle控制文件问题

    下午时连接数据库突然发现连不上了,监听报错找不到服务,于是登录数据库所在服务器,查看监听状态,oracle:lsnrctl status 监听状态正常,登入数据库查看[oracle@frkdb1 ~] ...

  8. rem,em,与px的比较用法

    在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激烈的争论着,有人说PX做为单位好,有人说EM优点多,还有人在说百分比方便,以至于出现了CSS Font-Size: em vs. px v ...

  9. Mysql对用户的操作

    1.创建用户语法:CREATE USER 用户名@地址 IDENTIFIED BY '密码'; 2.给用户授权语法:GRANT 权限1, … , 权限n ON 数据库.* TO 用户名 3.撤销授权语 ...

  10. 2017 cinemachine

    只有2017以上才可以使用~ 导入Asset store中的cinemachine,会在上方显示cinemachine.每创建一个虚拟摄像机,就会在主摄像机下创建组件  cinemachine Bra ...