PTA币值转化
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币值转化的更多相关文章
- PTA编程总结2—币值转换
7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...
- PTA中提交Java程序的一些套路
201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...
- PTA中提交Python3程序的一些套路
0. FAQ 0.1 提交后提示"答案错误"或者"格式错误" PTA检查答案正确与否是通过字符串匹配实现的.所以可能有以下几种原因: 格式错误:程序的输出要与题 ...
- C#版 - PAT乙级(Basic Level)真题 之 1024.科学计数法转化为普通数字 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. PAT Bas ...
- PTA Java tips(转载)
在PTA提交Java程序需要注意如下几个要点 1. Main类与Scanner 1.1 Main类 你提交的所有程序都应该以如下形式出现 public class Main{ public stati ...
- 第五周PTA笔记 后缀表达式+后缀表达式计算
后缀表达式 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级). 如:中缀表达式 3(5–2 ...
- js复杂对象和简单对象的简单转化
var course = { teacher :{ teacherId:001, teacherName:"王" }, course : { courseId : 120, cou ...
- wordpress优化之结合prism.js为编辑器自定义按钮转化代码
原文链接 http://ymblog.net/2016/07/24/wordpress-prism/ 继昨天花了一天一夜的时间匆匆写了主题Jiameil3.0之后,心中一直在想着优化加速,体验更好,插 ...
- Spring mvc @initBinder 类型转化器的使用
一.单日期格式 因为是用注解完完成的后台访问,所以必须在大配置中配置包扫描器: 1.applicactionContext.xml <?xml version="1.0" e ...
随机推荐
- Vue-devtools安装步骤
今天跟着网上参考的vue调试工具安装的方法,总结出更完善的步骤: 步骤一:调往链接地址 https://github.com/vuejs/vue-devtools 步骤二:解压链接地址中的包,到本地桌 ...
- Angular/cli 安装(windows环境)。
1.卸载先前安装的Angular/cli npm uninstall -g angular-clinpm uninstall --save-dev angular-clinpm uninstall - ...
- 角度&弧度转换
一.角度转换为弧度 问题: 当使用Math类的三角函数的时候,所有的单位都是用弧度表示的.你有一个或多个角是用角度数度量的,并且希望把它们转换为弧度数,从而可以用它们作为Math类的成员. 解决方法: ...
- ubuntu18.04LTS配置apache虚拟目录(基于端口)
假设在用户目录下要新建两个虚拟目录web1,web2,分别对应端口8081,8082 $ cd ~ #切换到用户目录 $ mkdir www #新建www文件夹,以后新建的虚拟目录都放在该文件夹下 $ ...
- seriviceWorker 小结
serviceWorker 的状态 install → activate. 1.初进页面,此前未加载过serviceWorker,直接进入install状态,随后进入activate状态,但是此时se ...
- echart 百度地图实现效果
1 必须引入 echarts.js文件 以及 china.js 点文件才可以执行代码2 ehcart官方文档有点小恶心,看了半天,好多东西都不是很清楚,必须挨个实验才行,希望对一些初学者来说可以少走一 ...
- 函数模板前template语句的位置
先贴个例子看看: #include<iostream> using namespace std; template <> void print() { ; i < siz ...
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
- 各种BUG
1.下载VS2005,版本太低和win10不好兼容 2.由于提前下载好了,visual studio2010,在下载VS2012过程中提示说检测到要更新VS2010才可以,百度后,返回安装上一步,取消 ...
- js 实现拖拽排序
<!DOCTYPE> <html lang="zh-cn"> <head> <meta http-equiv="Content- ...