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

week4-[字符数组]英语作文

week4-[字符数组]英语作文

题目背景

abslime正在写一篇英语作文,但是他不小心在很多单词之间插入了过多的空格,现在他希望把多余的空格去掉,使得相邻两个单词之间只有恰好一个空格,并且希望知道他多输入了多少个空格。

题目描述

给定abslime写的英语作文,其中仅包含若干个单词和空格(为了简化起见,这里没有考虑标点符号)。每个单词仅由大小写英文字母组成,且相邻两个单词之间至少有一个空格。需要输出去掉多余空格的英语作文,以及abslime多输入了多少个空格。

输入格式

输入一行,为一个仅包含英文字母和空格的字符串,表示abslime写的英语作文(保证第一个字符和最后一个字符一定不是空格)。

输出格式

输出两行,第一行为去掉多余空格的英语作文。第二行为一个整数,表示abslime多输入了多少个空格。

样例 #1

样例输入 #1

Suppose   you are going  to spend  a whole   month in     a  remote  island

样例输出 #1

Suppose you are going to spend a whole month in a remote island
12

样例 #2

样例输入 #2

To begin    with   we   should    make clear  of   the conception of innovative      capability

样例输出 #2

To begin with we should make clear of the conception of innovative capability
18

样例 #3

样例输入 #3

you      shall not    pass

样例输出 #3

you shall not pass
8

提示

数据范围

对于所有输入数据,输入字符串的总长度不超过 200020002000

这道题其实就是字符串处理:把多余的空格压缩掉,并统计多余空格数量。


🔎 思路解析

  1. 输入一行字符串 s(保证首尾不是空格)。
  2. 遍历字符串,维护一个新字符串 result
    • 如果遇到字母 → 直接加入 result
    • 如果遇到空格
      • 如果上一个字符不是空格 → 在 result 加一个空格。
      • 如果上一个字符是空格 → 说明是“多余空格”,不加到 result,但计数器 extra++
  3. 遍历完成后,result 就是压缩后的作文,extra 就是多余的空格数量。
  4. 输出 resultextra

📝 C++ 实现

#include <iostream>
#include <string>
using namespace std;int main() {string s;getline(cin, s);  // 输入整行,包括空格string result;int extra = 0;bool lastSpace = false;for (char ch : s) {if (ch == ' ') {if (!lastSpace) {result += ' ';lastSpace = true;} else {extra++; // 多余空格}} else {result += ch;lastSpace = false;}}cout << result << "\n" << extra << endl;return 0;
}
http://www.dtcms.com/a/348062.html

相关文章:

  • Games101 作业1 旋转与投影
  • 量子链(Qtum)分布式治理协议
  • Qt+windows+QtInstallerFramework打包可执行文件教程-美观且简单
  • Django的Serializers与 fastapi 的Pydantic
  • Excel 转化成JSON
  • Java:LinkedList的使用
  • Django的Settings 配置文件详解
  • 【ArcGIS Pro 全攻略】GIS 数据格式终极指南:从原理到实战,再也不纠结选哪种格式!
  • React useState 全面深入解析
  • Linux 824 shell:expect
  • 基于5G NR NTN与DVB-S2X/RCS2的机载卫星通信终端性能分析
  • 低功耗模式DMA数据搬运问题解析
  • 在测试接入抖音小游戏订阅消息推送时遇到的问题
  • bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十八)
  • K8s部署MySQL8.0数据库
  • Transformer实战(13)——从零开始训练GPT-2语言模型
  • 【go语言】字符串函数
  • imx6ull-驱动开发篇39——Linux INPUT 子系统实验
  • 05-ArkUI界面开发
  • Solidity学习笔记
  • ZKmall模块商城的推荐数据体系:从多维度采集到高效存储的实践
  • 用 Bright Data MCP Server 构建实时数据驱动的 AI 情报系统:从市场调研到技术追踪的自动化实战
  • 青少年软件编程(python五级)等级考试试卷-客观题(2024年6月)
  • 数据库原理及应用_数据库基础_第2章关系数据库标准语言SQL_数据的维护
  • Adobe CS6所有系列绿色免安装版,Photoshop 6 Adobe Illustrator CS6 等绿色版
  • Spring创建的方式
  • 使用 Frida 运行时检测 Android 应用的真实权限状态 (App Ops)
  • 第4章栈和队列:顺序队——基本结构
  • Java 基础学习总结(211)—— Apache Commons ValidationUtils:让参数校验从 “体力活“ 变 “优雅事“
  • Vue状态管理工具pinia的使用以及Vue组件通讯