news 2026/8/2 3:22:21

紧急措施 、 过滤多余的空格 与 单词的长度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
紧急措施 、 过滤多余的空格 与 单词的长度

紧急措施

这一题给出了要输入的行数;用for循环一次读取每行数据并处理即可;定义四个变量:“account”“code”“email”与“myemail”(用于判断是否为要处理的一行数据)。如果“myemail == email”,那么便对code(密码)进行大小写转换操作即可。然后输出“account”“code”“email”。并在for循环外定义一个布尔值“nofind”,用于判定数据中有无要处理的数据。

#include<bits/stdc++.h>
using namespace std;
int main (){
string myemail;//我的email
int N;//账号数
cin >> myemail;
cin >> N;
bool nofind = true;//用于标记是否找到
for(int i = 0;i < N;i ++)
{
string account,code,email;
cin >> account >> code >> email;
// cout << account << ' ' << code << ' ' << email << endl;
if(myemail == email){
nofind = false;//标记“找到了”
for(char &c : code){//更改密码
if(islower(c)){c = toupper(c);}//小写转大写
else if (isupper(c)){c = tolower(c);}//大写转小写
}
cout << account << ' ' << code << ' ' << endl;//输出更改后的账号与密码
}
}
if(nofind) cout << "empty" << endl;
return 0;
}

过滤多余的空格

这道题有思路就很简单。依据题意我们用getline读取数据并存放到字符串中,在字符串遍历中进行空格判定操作。先定义一个布尔值变量用于标记当前字符之前是否为空格,然后开始遍历,不是空格就添加到新的字符串,并更新bool值为false;如果是空格,进入判定:bool值是否为false(即之前不是空格),为真,添加空格到新字符串,并且更新bool为true。最后输出新字符串即可。

注意:不要在原来字符串上进行操作,那样会影响字符串遍历。

#include<bits/stdc++.h>
using namespace std;
int main (){
string s;
getline(cin,s);//读取一整行输入
string result = "";//新的字符串,用于存放处理后的字符串
bool inSpace = false;//标记是否正在处理连续空格

//字符串处理
for(char &c : s){
if(c != ' '){//遍历字符串,非空格则添加到新字符串
result += c;
inSpace = false;//重置标记
}else{
if(!inSpace){
result += ' ';//只保留一个空格
inSpace = true;//设置标记位
}
//如果inSpace为true,说明是连续空格的一部分,会直接跳过接下来的空格
}
}
cout << result << endl;//输出结果
return 0;
}

单词的长度

这道题可以用上一道题的框架,具体原理不必再解释。直接把删除空格操作改为输出单词长度并重置即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);

int i = 0;//i为单词长度
bool inSpace = false;//用于记录当前字符前是否为空格
for(char &c : s){
if(c != ' ') {//当前字符不是空格
i += 1;//单词长度加一
inSpace = false;//更新bool状态
}else{//是空格
if(!inSpace){//字符前面不是空格
cout << i << ',';//输出单词长度与逗号
i = 0;//重置单词长度
inSpace = true;//更新bool状态
}
}
}
cout << i << endl;//最后不会遇到空格,因此此时的i即为最后的单词长度。
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 3:21:38

Playwright MCP在UI自动化测试中的角色与探讨

如果你和我的团队一样&#xff0c;长期维护着一个庞大却脆弱的 UI 自动化测试脚本库&#xff0c;一定对这样的场景再熟悉不过&#xff1a;前端一次看似微小的改动——可能只是一个 CSS 类名变更&#xff0c;或组件结构的轻微调整——就足以让大量测试脚本集体失效。修复它们不仅…

作者头像 李华
网站建设 2026/8/2 2:37:37

锐捷RGSP | ARP Check原理与应用

一、ARP Check概述 1. ARP Check背景 网络中存在ARP欺骗的攻击行为,会导致网络异常。如果部署了DHCP服务器,需要通过DHCP Snooping和IP Source Guard给你拿来实现接入安全的需求。如果没有部署DHCP服务器,那么就需要使用端口安全和全局地址绑定的方式来实现园区网的接入。…

作者头像 李华
网站建设 2026/8/2 3:21:11

打破部门墙:研发、生产、销售高效协同之道

在当今竞争激烈的市场环境中&#xff0c;企业能否成功往往取决于内部协作的效率。研发、生产与销售三大核心部门若各自为政&#xff0c;不仅会造成资源浪费&#xff0c;更会错失市场良机。唯有打破“部门墙”&#xff0c;实现高效协同&#xff0c;企业才能形成强大合力&#xf…

作者头像 李华
网站建设 2026/8/1 11:46:02

【论文翻译】NaviDiffusor: Cost-Guided Diffusion Model for Visual Navigation

文章目录 NaviDiffusor: Cost-Guided Diffusion Model for Visual Navigation——NaviDiffusor&#xff1a;用于视觉导航的代价引导扩散模型摘要I. 介绍II. 相关工作A. 视觉导航B. 用于规划的扩散模型 III. 方法A. 代价引导扩散模型B. 代价引导C. 从生成的候选路径中选择 IV. 实…

作者头像 李华
网站建设 2026/8/2 0:00:22

收藏!LLM局限性与知识图谱增强RAG系统详解:从理论到实践

大型语言模型(LLM)虽具备强大的自然语言处理能力&#xff0c;但存在知识截止、过时信息、幻觉和缺乏隐私信息等局限性。传统监督微调方法难以有效解决这些问题。检索增强生成(RAG)通过结合外部知识库可显著提升LLM的准确性和可靠性。文章提出将知识图谱整合进RAG工作流程&#…

作者头像 李华
网站建设 2026/8/1 19:39:37

Gitee:中国企业数字化转型中的项目管理利器

Gitee&#xff1a;中国企业数字化转型中的项目管理利器 在数字化转型浪潮席卷全球的当下&#xff0c;项目管理工具已成为企业提升运营效率的关键基础设施。国际权威咨询机构Gartner最新预测显示&#xff0c;到2025年&#xff0c;全球项目管理软件市场规模将达到惊人的117亿美元…

作者头像 李华