当前位置: 首页 > news >正文

L1-032 Left-pad C++解法

一、题目再现 

根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。

输入格式:

输入在第一行给出一个正整数N(≤104)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以1个空格分开。第二行给出原始的非空字符串,以回车结束。

输出格式:

在一行中输出结果字符串。

输入样例1:

15 _
I love GPLT

输出样例1:

____I love GPLT

输入样例2:

4 *
this is a sample for cut

输出样例2:

 cut

二、思路

  • cin.ignore()来清空cin留下来的换行符
  • 用getline()来获取一整行字符串,包括空格。
  • 利用string容器中的substr来获取子串

三、AC代码

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main() {int n;char a;cin >> n >> a;string str;cin.ignore();//清空cin留下来的换行符getline(cin, str);if (str.length() >= n) {// 计算截取的起始位置int startPos = str.length() - n;// 截取后半部分字符串string subStr = str.substr(startPos);// 输出cout << setfill(a) << setw(n) << subStr << endl;}else {// 如果字符串长度小于 n,则输出整个字符串cout << setfill(a) << setw(n) << str << endl;}return 0;
}

 

http://www.lryc.cn/news/175677.html

相关文章:

  • Python 用列表实现模拟手机通讯录(简易版)
  • macOS使用官方安装包安装python
  • 如何重装Windows Mirosoft Store
  • 软考高级系统架构设计师系列论文真题七:基于构件的软件开发
  • git rebase 修改中间的commit
  • 登录业务实现 - token登录鉴权
  • 内存对齐--面试常问问题和笔试常考问题
  • 贪心算法-会议室问题
  • 单日 5000 亿行 / 900G 数据接入,TDengine 3.0 在中国地震台网中心的大型应用
  • 【VIM系列】cscope命令
  • Vue的自定义事件(Custom Events):实现组件间通信的强大工具
  • 简易实现通讯录(1.0)
  • CSS笔记——触发式动画Transition、主动式动画Animation、Transfrom 动画、CSS 3D 动画、阴影和滤镜样式
  • 软件测试之Web安全测试详解
  • MYSQL binlog
  • Web 基础概念
  • 谈谈最近招人的感受!
  • 【日常业务开发】Java调用第三方http接口的常用方式
  • 【大数据开发技术】实验04-HDFS文件创建与写入
  • 中国制造让苹果跪服,将再增加一家中国高科技供应商
  • 港卡开户感想(2023-8)
  • 机器学习第十一课--K-Means聚类
  • Java on Azure Tooling 8月更新|以应用程序为中心的视图支持及 Azure 应用服务部署状态改进
  • 论文笔记:ST2Vec: Spatio-Temporal Trajectory SimilarityLearning in Road Networks
  • upload-labs靶场未知后缀名解析漏洞
  • VisualStudio配置opencv
  • 如何通过git指令加入管理者仓库并提交分支(Github Gitee)
  • LuatOS-SOC接口文档(air780E)-- fastlz - FastLZ压缩
  • MySQL表的增删改查(进阶)
  • Greenplum实用工具-gpfdist