题目

1006 换个格式输出整数 (15 point(s))

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:

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

输出格式:

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

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123

算法

这个题目难度倒是不大,无论通过什么方法都能解决。

方法1是从C的角度出发,建立对应的数组。

方法2是从string类的角度出发,判断输入是几位数字,这里要先将数字转化为字符串,用到了一个很好用的to_string(),这个函数要包含在<string>中。

方法3是柳婼大神的思路,显然使用while将各位数字取出来,再输出也是一个好方法。

方法4是12.01再次刷题的代码

思路

方法1

//pat1006V1#include <stdio.h>int main(){int value,i,bai,shi,ge;    //value save the user's inputchar BaiArray[][10]={"B","BB","BBB","BBBB","BBBBB","BBBBBB","BBBBBBB","BBBBBBBB","BBBBBBBBB"};char ShiArray[][10]={"S","SS","SSS","SSSS","SSSSS","SSSSSS","SSSSSSS","SSSSSSSS","SSSSSSSSS"};char GeArray[][10]={"1","12","123","1234","12345","123456","1234567","12345678","123456789"};scanf("%d",&value);ge=value%10;shi=value/10%10;bai=value/100;//    printf("%d %d %d\n",bai,shi,ge);for(i=0;i<9;i++)if(bai==i+1)printf("%s",BaiArray[i]);for(i=0;i<9;i++)if(shi==i+1)printf("%s",ShiArray[i]);for(i=0;i<9;i++)if(ge==i+1)printf("%s",GeArray[i]);return 0;}

方法2

#include <iostream>
#include <string>
using namespace std;
int main(){int n;   cin>>n;char c[2]={'S','B'};string str=to_string(n);if(str.length() ==1){for(int i=1;i<=n;i++)cout<<i;}if(str.length() ==2){for(int i=0;i<n/10;i++)printf("%c",c[0]);for(int i=1;i<=n%10;i++)cout<<i;}if(str.length() ==3){for(int i=0;i<n/100;i++)printf("%c",c[1]);for(int i=0;i<n%100/10;i++)printf("%c",c[0]);for(int i=1;i<=n%100%10;i++)cout<<i;}return 0;
} 

方法3

#include <iostream>
#include <string>
using namespace std;
int main(){int n,i=0;  cin>>n;int b[3]={0};while(n){b[i++]=n%10; //依次取出最后一位数字n/=10; }for(int j=0;j<b[2];j++)  cout<<"B";for(int j=0;j<b[1];j++) cout<<"S";for(int j=0;j<b[0];j++) cout<<j+1;return 0;
} 

代码4

#include <iostream>
using namespace std;
int main(){int n;   cin>>n;for(int i=0;i<n/100;i++) cout<<'B';for(int i=0;i<n%100/10;i++) cout<<'S';for(int i=0;i<n%10;i++)     cout<<i+1;
}

1006 换个格式输出整数——C++实现相关推荐

  1. java lt10_PAT 1006 换个格式输出整数 (15)(C++JAVAPython)

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

  2. 1006 换个格式输出整数 (15分)

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

  3. 1006 换个格式输出整数 (15 分)

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

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

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

  5. 1006 换个格式输出整数(C语言)

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

  6. 1006 换个格式输出整数(python 3)

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

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

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

  8. PAT 1006 换个格式输出整数

    1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示&qu ...

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

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

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

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

最新文章

  1. CPU寻址过程方框图
  2. 双目立体匹配——归一化互相关(NCC)
  3. RUNOOB python练习题3
  4. 定义快捷代码_nodepad++代码编辑器替代工具整理
  5. Period II(FZU-1901)
  6. c语言皮尔森系数程序,按条件选入观测;皮尔森相关系数
  7. JAVA解决实例问题_解决java方法
  8. (转载)Dig命令的用法
  9. 28.MySQL Variables
  10. 用python设计图案_用 Python 打造属于自己的GUI图形化界面
  11. PostgreSql 常用 ALTER 语句
  12. WIN10访问linux分区「ext2fsd」
  13. Golang + selenium 设置无头浏览器模式
  14. easyUI——easyUI(入门)
  15. 微信无法打开xlsx文件_微信打不开文件怎么办显示excel丢失或损坏
  16. 用java怎么开发图片标注工具,图片标注工具选型
  17. 2010计算机系助学金,计算机系贫困生助学金申请书
  18. echarts实现中国地图,山西地图,图表面积图配置项
  19. 关于ORA-01034和ORA-27101的一种解决方法
  20. echarts设置背景图片

热门文章

  1. SCI收录的IEEE期刊
  2. Echart甘特图实现效果 + 配带抽成方法 + 源码
  3. shell编程之awk(数据筛选与处理)
  4. 实战NLP beginner任务一:基于机器学习的文本分类
  5. 光纤模块与光纤收发器使用方法
  6. 自适应数字加密/收藏品NFT市场网站HTML5模版
  7. 【摄影笔记三】光圈和快门
  8. 评价好的良心浏览器,最后一个比360浏览器好用
  9. 什么叫断章取义,什么叫曲解——你被骗了多少年?
  10. 计算机内存条能装几个,怎么查看电脑可以插多少内存条