一、题目:7-1 币值转换 (20 分)

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

输入格式:

输入在一行中给出一个不超过9位的非负整数。

输出格式:

在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

输入样例1:

813227345

输出样例1:

iYbQdBcScWhQdBeSf

输入样例2:

6900

输出样例2:gQjB

二、实验代码:

#include<stdio.h>
#include<math.h>
int n,s=0;
int main(void)

{
 int i,j,k,p=1,flag=1;
 int f(int q,int n);
 scanf("%d",&n); 
 
 for(i=0;n/p>=10;i++){
  p=pow(10,i);
  s++;
 }
 if(n==0)
   printf("a");
 if(n<10&&n>=0)
  s=1;
 for(j=1;j<=s;j++){
  switch(f(j,n)){
   case 0:if(j!=s&&j!=s-4){
    if(f(j+1,n)==0)
       flag=0;
    else
       flag=1;
    if(flag)printf("a");break;
    };break;
   case 1:printf("b");break;
   case 2:printf("c");break;
   case 3:printf("d");break;
   case 4:printf("e");break;
   case 5:printf("f");break;
   case 6:printf("g");break;
   case 7:printf("h");break;
   case 8:printf("i");break;
   case 9:printf("j");break;
  }
  if(f(j,n)==0&&j!=s&&j!=s-4)
    continue;
  else{
   if(s==9&&j==5){
    if(f(2,n)==0&&f(3,n)==0&&f(4,n)==0&&f(5,n)==0)
    continue;
   }
  switch(s-j){
   case 1:printf("S");break;
   case 2:printf("B");break;
   case 3:printf("Q");break;
   case 4:printf("W");break;
   case 5:printf("S");break;
   case 6:printf("B");break;
   case 7:printf("Q");break;
   case 8:printf("Y");break;
  }
 }}
 return 0;
}
int f(int q,int n)
{
 int k,a;
 if(q==1)
    k=n/pow(10,s-1);
 else{
  a=n/pow(10,s-q+1);
  k=n/pow(10,s-q)-a*10;
 }
 return k;
}

三、实验思路

根据题目意思 小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿

随机输入一个数n  从最高位开始作除依次给出对应的a-j字母对应数字后再接相应单位所对应的字符 后面的也如此  利用循环结构比较简便求解

四、调试过程碰到问题及解决办法

循环体结构出错   判断0的个数有问题不知如何表达并用代码解决

最后还是看同学的代码   不过还是看不懂...等到学校当面询问

PTA2的更多相关文章

  1. 寒假作业pta2

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

  2. Java学习笔记(05)

    目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...

  3. C# 线程问题

    一:概述和概念 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行.一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为"主线程&quo ...

  4. 豹哥嵌入式好讲堂:ARM Cortex-M调试过程探析(1)- 4线接口标准(JTAG)

    大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M开发文件详解>系列文章之后,豹哥修整了一小段时间,但是讲课的心 ...

  5. k60引脚图

    /*! 枚举管脚编号 */ typedef enum { /* PTA端口 */ //0~31 PTA0, PTA1, PTA2, PTA3, PTA4, PTA5, PTA6, PTA7, PTA8 ...

  6. 201621123050 《Java程序设计》第2周学习总结

    1.本周学习总结 java的数据类型 基本数据类型:介绍了java特有的boolean 引用数据类型 String:不变性:需要频繁修改时使用StringBuilder 包装类:自动拆.装箱 数组 一 ...

  7. 201421123042 《Java程序设计》第2周学习总结

    1. 本周学习总结 以几个关键词描述本周的学习内容.并将关键词之间的联系描述或绘制出来. 原则:少而精,自己写.即使不超过5行也可,但请一定不要简单的复制粘贴. 引用类型 引用类型是指向一个对象,感觉 ...

  8. PTA第四次作业

    题目 7-1 计算职工工资 1.设计思路 (1)第一步:观察题意了解各个参数与所需函数在题目中的意义: 第二步:设计算法编写函数,让函数的功能实现题目中所需的功能: 第三步:运行程序检测是否错误. ( ...

  9. 痞子衡嵌入式:ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M文件那些事>系列文章之后,痞子衡休整了一小段时间,但是讲课的 ...

随机推荐

  1. javascript中的自定义属性

    标签的自定义属性: 在开发中,有时需要在标签上添加一些自定义属性用来存储数据或状态. 设置了自定义属性的标签,就是在这个标签上添加了这个属性,浏览器中的html结构中可以看到. 使用点语法(如oWra ...

  2. python笔记27-time模块

    import datetime, time#一种是时间戳.一种是格式化时间.一种是时间元组# print(time.timezone) # 和标准时间相差的时间,单位是sprint(int(time. ...

  3. .NET界面控件DevExpress发布v18.2.8|附下载

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  4. org.apache.commons.vfs 配置文件里面 密码包含 @

    登录ftp的用户名 sftpuser ,密码 @sftpuser 在配置文件里面 需要 把 @ 转义 成 %40 ftppath=sftp://sftpuser:%40sftpuser@127.0.0 ...

  5. 只有自身跟上时代,offer就会如期而至

    [官宣]只有自身跟上时代,offer就会如期而至 最近对求职者来说,似乎颇不太平,各种裁员扑面而来,许多企业(易车.滴滴等)相继官宣裁员信息,包括阿里缩减校招,百度减少社招等,都让人不禁打嗦.但我们华 ...

  6. ie9上传后下载json

    1.保持后台控制器返回的数据为字符串格式 2.js:dataType类型保持为html格式 dataType: 'html',//默认就是html类型,不写对火狐有影响 3.将上传后后台返回的字符串转 ...

  7. 三星Galaxy S8 刷机经验记录

    这段时间用上了三星S8,由于原生系统太耗电,所以萌生了root的想法.写这篇博客记录下这段时间的各种尝试. Root过程说明: 友情提示,道路千万条,安全第一条.开始捣鼓手机之前请一定准备好官方的救砖 ...

  8. R画图的颜色搭配

    colors()函数列出当前已经支持的颜色名称 [19] "bisque3" "bisque4" "black" [22] "bl ...

  9. CentOS7的网卡重启方法

    1.centos6的网卡重启方法:service network restartcentos7的网卡重启方法:systemctl restart network 2.DNS配置文件:cat /etc/ ...

  10. wpf 依赖属性介绍

    微软在wpf中推出le 附加属性 这个新概念 简单来说,本来自己这个类是不具备该行为,但是在特殊情况下需要用到该属性 比如在 TextBox 本来是不具备,几行几列 跨行等 行为 ,但是如果  把他放 ...