【浙江大学PAT真题练习乙级】1006 换个格式输出整数 (15分) 真题解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 【浙江大学PAT真题练习乙级】1006 换个格式输出整数 (15分) 真题解析

题目描述

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

输入格式

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

输出格式

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

输入样例 1:

234
• 1

输出样例 1

BBSSS1234
• 1

输入样例 2

23

输出样例 2

SS123

思路解析

  这里其实就是希望我们将输入数字的个位、十位、百位都给找出来,并且需要验证都是几,用输出不同符号的方式验证。但是在C++实现的时候,我发现调用<stdio.h>下的printf输出string格式的数据的时候报错了,cout并不会,后来百度了一下,理由如下:

  printf输出字符串是针对char *的,换言之,printf只能输出c语言中的内置数据,string不是c语言内置数据。更深入的来说:如:string s = "中国";s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“中国”的首地址,而是s这个对象的首地址。因此借用stringc_str()成员方法返回当前字符串的首字符地址。

  在Python实现的时候整除是两个斜杠//

C++实现

#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main(){
    int input;
    string output = "";
    scanf("%d", &input);
    int B_num = input / 100;
    for(int i=0; i<B_num;i++){
        output = output+"B";
    }
    int S_num = (input - B_num*100)/10;
    for(int i=0; i<S_num; i++){
        output = output+"S";
    }
    int G_num = (input - B_num*100 - S_num*10);
    for(int i=1;i<G_num+1;i++){
        output=output + to_string(i);
    }
    printf("%s", output.c_str());
}

Python实现

input_data =  int(input())
output_data = ""
B_num = input_data // 100
for i in range(B_num):
    output_data = output_data +"B"
S_num = (input_data -B_num*100)//10
for i in range(S_num):
    output_data = output_data +"S"
G_num = input_data - B_num*100 - S_num*10
for i in range(G_num):
    output_data = output_data + str(i+1)
print(output_data)


相关文章
|
6月前
|
JSON 前端开发 Java
Json格式数据解析
Json格式数据解析
122 1
|
6月前
|
Java API
Java之File类的详细解析及小练习
2. File类 2.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 2.2 构造方法
75 0
|
6月前
|
JavaScript 前端开发
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
|
3月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
87 1
|
6月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
77 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
5月前
|
Go
golang解析excel、csv编码格式
golang解析excel、csv编码格式
55 4
|
4月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
5月前
|
存储 SQL 关系型数据库
MySQL行格式原理深度解析
MySQL行格式原理深度解析
|
6月前
|
JSON 安全 前端开发
解析FormData格式数据:Python实践指南
解析FormData格式数据:Python实践指南
341 1
|
6月前
|
存储 安全 Linux
C++文件格式深度解析:从底层结构到关键特性
C++文件格式深度解析:从底层结构到关键特性
416 3
C++文件格式深度解析:从底层结构到关键特性

推荐镜像

更多