用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),

换个格式来输出任一个不超过 3 位的正整数。

例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:

每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:

每个测试用例的输出占一行,用规定的格式输出 n

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123

思路:

这个题考的是对数字各个位数的处理。这样的题一般来说有两种思路,一种是把输入的数字当成string看,另外一种就是当成int看。

而这个题当成string看并不合适,因为我们不知道输入的数字的位数到底是多少,如果分情况的话只能根据s.length()长度去if else,而每个分支下的代码,可以预见到,将是高度相似的,只是改动一下s[0],s[1],s[2],或者是输出的是B还是S。这样的写法可以,但是不好。

所以把它当成int类型去处理就好,到这里又有两种思路,一种是柳婼答案的思路,先用循环按位取出各个数字存入数组中,再统一输出;另一种是我的,不用循环,随取随输出。

我的代码:

#include<iostream>
using namespace std;int main()
{int a;cin >> a;int nb, ns,ng; //百,十,个nb = a / 100;for (int i = 0; i < nb; i++){cout << "B";}ns = a / 10 - 10 * nb;for (int i = 0; i < ns; i++){cout << "S";}ng = a - 100 * nb - 10 * ns;for (int i =1; i < ng+1; i++){cout << i;}return 0;
}

PAT乙级 1006 换个格式输出整数相关推荐

  1. PAT 乙级 1006 换个格式输出整数

    1006 换个格式输出整数 (15 point(s)) 让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(&l ...

  2. pat 乙级 1006 换个格式输出整数(C++)

    题目 让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3位的正整数. ...

  3. [PAT乙级]1006 换个格式输出整数

    让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数.例如 ...

  4. PAT乙级1006 换个格式输出整数

    我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10) 换个格式来输出任一个不超过 3 位的正整数. ...

  5. PAT乙级(1006 换个格式输出整数)

    让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数. ...

  6. PAT 乙级 1006 换个格式输出整数

    让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数. ...

  7. PAT(乙级)1006 换个格式输出整数 (15 分) (C语言)

    让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数.例如 ...

  8. 【题解PAT】1006 换个格式输出整数

    [题解PAT]1006 换个格式输出整数 (15 分) 让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(< ...

  9. C++学习之路 | PTA乙级—— 1006 换个格式输出整数 (15分)(精简)

    1006 换个格式输出整数 (15分) 让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(<10),换个格式 ...

最新文章

  1. [目录]Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案
  2. python逐行读取json_如何用python读取json文件里指定的数据
  3. android 界面切换【转】
  4. LeetCode 6038. 向表达式添加括号后的最小结果
  5. Atitit.遍历图像像素点rgb java attilax总结
  6. 贷后模块之催收行为综合评分卡
  7. window 装oracle,在Window下安装Oracle
  8. 抖音自动上号源码分享
  9. 远程办公软件华为云WeLink视频会议指南(下篇:记录会议纪要)
  10. Eucalyptus Cloud 介绍
  11. paypal支付接口开发-Golang版
  12. PySpark机器学习 ML
  13. Xilinx 7系列FPGA架构之时钟资源(一)
  14. 【新手】网络拓扑图要这样画
  15. 机器学习笔记六——特征工程之数据预处理
  16. 顶级业务架构设计的“道”与“术”,醍醐灌顶!
  17. Verilog/@符号什么意思
  18. java随机星星怎么闪_实现星星闪动的java代码
  19. 情境领导者-第七章、解决绩效问题
  20. 毕业面试 | 如何准确一分钟介绍你自己?

热门文章

  1. matlab人民币识别,Matlab图像处理学习笔记(六):基于sift特征点的人民币识别...
  2. 怎么查看表用了那个序列_知识分享008:怎样在手机上用萤石云查看海康威视监控录像...
  3. Java基础---接口的使用
  4. UE4使用自定义字体
  5. CDH 元数据库升级
  6. 算法导论第10章习题
  7. php chinese word
  8. 如何不使用让menu控件不回发(postback)
  9. 项上的温柔,冬季围巾8大打法图解(组图)
  10. Mr.J--简易的判断输入两次密码是否一致(静态)