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

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

输入格式:

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

输出格式:

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

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123

C++实现:

分析:

给出的数字至多只有3位数,所以可以创建一个大小为3的数组,分别存放百位、十位、个位。最后利用循环输出就可以了

 #include <iostream>
using namespace std; int main()
{
int n;
int arr[];
cin >> n; for (int i = ; i >= ; --i)
{
arr[i] = n % ;
n /= ;
} for (int i = ; i < arr[]; ++i)
{
cout << "B";
}
for (int i = ; i < arr[]; ++i)
{
cout << "S";
}
for (int i = ; i <= arr[]; ++i)
{
cout << i;
}
return ;
}

Java实现:

 思路1:

同C++做法:创建一个长度为3的数组,分别存放百位、十位、个位。

 import java.util.Scanner;

 public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] arr = new int[3];
int n = input.nextInt();
for (int i = 2; i >= 0; --i) {
arr[i] = n % 10;
n /= 10;
}
for (int i = 0; i < arr[0]; ++i) {
System.out.print("B");
}
for (int i = 0; i < arr[1]; ++i) {
System.out.print("S");
}
for (int i = 1; i <= arr[2]; ++i) {
System.out.print(i);
}
}

 

思路2:

对输入的数字n进行分辨得出:百位 [ a ]、十位 [ b ]、个位 [ c ]。

 import java.util.Scanner;

 public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int a = 0, b = 0, c = 0;
if (n >= 100) {
a = n / 100;
b = (n % 100) / 10;
c = n % 10;
}
if (n >= 10 && n < 100) {
b = n / 10;
c = n % 10;
}
if (n >= 1 && n < 10) {
c = n;
}
for (int i = 0; i < a; ++i) {
System.out.print("B");
}
for (int i = 0; i < b; ++i) {
System.out.print("S");
} for (int i = 1; i <= c; ++i) { System.out.print(i);
}
}
}

PAT 乙级 1006.换个格式输出整数 C++/Java的更多相关文章

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

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

  2. [C++]PAT乙级1006. 换个格式输出整数 (15/15)

    /* 1006. 换个格式输出整数 (15) 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数. 例如234应该 ...

  3. PAT(B) 1006 换个格式输出整数(Java)

    题目链接:1006 换个格式输出整数 (15 point(s)) 代码 /** * Score 15 * Run Time 153ms * @author wowpH * @version 1.1 * ...

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

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

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

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

  6. 【PAT】1006. 换个格式输出整数 (15)

    1006. 换个格式输出整数 (15) 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为 ...

  7. PAT Basic 1006 换个格式输出整数 (15 分)

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

  8. PAT 1006 换个格式输出整数 (15)(C++&JAVA&Python)

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

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

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

随机推荐

  1. 【操作系统之六】Linux常用命令之less

    一.概念less 工具也是对文件或其它输出进行分页显示的工具,是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more .tail更加的有弹性.在 more 的时候,我们并没有 ...

  2. nginx+keepalived高可用及双主模式【h】

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  3. Java stream 并发应用案例

    在磁盘目录下有几十个txt文件,里面存储着XML格式的数据,每个文件在2-3M左右,现在需要将以上文件解析出来保存到mysql数据库,总数据量大概在30万条左右. (1)首先通过stream并发解析T ...

  4. pycharm安装pytorch失败的问题

    在无GPU的情况下,打算安装pytorch跑几个demo练练手,但是pycharm发现总是失败,无法安装成功.错误显示如下: 无奈之下,只能够使用官方推荐的命令pip3安装,命令如下: pip3 in ...

  5. Spring JDBC最佳实践(3)

    原文地址:https://my.oschina.net/u/218421/blog/38598 spring jdbc包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate ...

  6. [记录] C# 版本和.NET 版本以及VS版本的对应关系

    简单的来说:    VS2010 最高用到 .Net Framework4,C# 4.0    VS2015 最高用到 .Net Framework4.6,C# 6.0    VS2017 最高用到 ...

  7. 源码编译安装使用glusterfs+heketi安装使用

    注:使用源码安装的原因主要是使用yum安装glusterfs服务端时出现一些依赖库问题 准备3台glusterfs服务器(官方也建议至少3台,防止发生脑裂),并在各个服务器的/etc/hosts下面添 ...

  8. EXT.net 1.x TreePanel的一个坑

    Ext.net TreePanel有一个方法 drptreepanel.setChecked({ ids: idsarray, silent: true });  如果TreePanel里有1,3两个 ...

  9. C语言中字符型,整数型,浮点型在内存中如何存储

    ···void main() { unsigned char a = 97; printf("%p",&a); printf("%c,%d\n", a, ...

  10. .NET Core如何使用NLog

    1.新建ASP.NET Core项目 1.1选择项目 1.2选择.Net版本 2. 添加NLog插件 2.1 通过Nuget安装 2.2下载相关的插件 3.修改NLog配置文件 3.1添加NLog配置 ...