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;
}
一开始没有什么思路。看了百度才有一点点感觉。操作流程大致为:

1.若当前位为万位,则必存单位

2.若当前位不为万位,则又需要分情况讨论:

2.1 当前位为千位或个位,不存数字

2.2 当前位不为千位,且不为个位,但前面一位为0,也不存数字

2.3 当前位不为千位,且不为个位,前面一位非0,存数字

PTA币值转化的更多相关文章

  1. PTA编程总结2—币值转换

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

  2. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  3. PTA中提交Python3程序的一些套路

    0. FAQ 0.1 提交后提示"答案错误"或者"格式错误" PTA检查答案正确与否是通过字符串匹配实现的.所以可能有以下几种原因: 格式错误:程序的输出要与题 ...

  4. C#版 - PAT乙级(Basic Level)真题 之 1024.科学计数法转化为普通数字 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. PAT Bas ...

  5. PTA Java tips(转载)

    在PTA提交Java程序需要注意如下几个要点 1. Main类与Scanner 1.1 Main类 你提交的所有程序都应该以如下形式出现 public class Main{ public stati ...

  6. 第五周PTA笔记 后缀表达式+后缀表达式计算

    后缀表达式 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级). 如:中缀表达式 3(5–2 ...

  7. js复杂对象和简单对象的简单转化

    var course = { teacher :{ teacherId:001, teacherName:"王" }, course : { courseId : 120, cou ...

  8. wordpress优化之结合prism.js为编辑器自定义按钮转化代码

    原文链接 http://ymblog.net/2016/07/24/wordpress-prism/ 继昨天花了一天一夜的时间匆匆写了主题Jiameil3.0之后,心中一直在想着优化加速,体验更好,插 ...

  9. Spring mvc @initBinder 类型转化器的使用

    一.单日期格式 因为是用注解完完成的后台访问,所以必须在大配置中配置包扫描器: 1.applicactionContext.xml <?xml version="1.0" e ...

随机推荐

  1. linux下安装jdk 详细步骤(一条命令即可安装)

    转载:https://blog.csdn.net/luochangchen/article/details/72804426 作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装 ...

  2. AGV

    AGV AGV是(Automated Guided Vehicle)的缩写,意即“自动导引运输车”,是指装备有电磁或光学等自动导引装置,它能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车 ...

  3. iis7 绑定多个ssl证书

    默认情况下iis上只能绑定一个ssl证书,如果多的话 会只认一个. 停止IIS 运行[ CMD]  ,  输入 [iisreset /STOP] 第一步:修改配置文件. 然后打开:C:/Windows ...

  4. QT | 聊聊QT与直播流播放——从QMediaPlayer到Qt-AV

    [原创文章,转载请注明来源,方便查看本文更新] 这段时间需要用QT开发一个播放直播流的功能,能够播放各种格式的直播流,并且CPU占用率不要太高(可以占用GPU),这些是我们的目标. 直播流推流的技术进 ...

  5. Visual C++ 6.0中关于for的简单问题

      在这个循环当中,要先执行①,再执行②,再执行④,再执行③,如果还满足②的话就再执行②,再依次执行.当③不满足②时,就执行printf语句. 并且在这个循环当中,①只执行一次.

  6. 03MYSQL数据库

    mySQL 数据库 储存数据,属于中小型数据库   默认端口号 3306  密码root sql是一门编程语言 结构化查询语言  是强类型语言(定义变量时要指定变量类型) 字符串有两种类型:  定长: ...

  7. JavaScript中函数引用调用和函数直接调用的区别

    首先看下面的代码: var x = 1 var f1 = function( f ) { var x = 2 ; f( ' console.log( x ) ' ) } var f2 =  funct ...

  8. Lambda表达式中的GroupBy使用的正确姿势

    本实例适用于:将记录中的数据进行分组得到一个一对多模型数据Model 案例中的Model 注:UserDetailes 包含User的信息和其所属部门信息 需求:将UserDetailes 的记录分组 ...

  9. [cf1025D][区间dp]

    http://codeforces.com/contest/1025/problem/D D. Recovering BST time limit per test 1 second memory l ...

  10. Android Historian安装使用

    1.先安装docker 2.安装Historian,可使用如下docker镜像: sudo docker run -p 9000:9999 registry.cn-hangzhou.aliyuncs. ...