news 2026/3/31 9:51:54

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

作者头像

张小明

前端开发工程师

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/3/24 13:53:13

踩坑记:DBeaver连接GBase 8S时“编码转换失败”的终极解决

本文由真实问题排查过程整理&#xff0c;适用于使用 DBeaver 连接 GBase 8s 遇到 java.sql.SQLException: 数据库地点信息不匹配 的开发者。问题现象 在 DBeaver 中使用官方 JDBC 驱动连接 image_analysis_db 时&#xff0c;只要 SQL 中包含中文&#xff0c;例如&#xff1a; I…

作者头像 李华
网站建设 2026/3/30 20:06:54

Java反射机制:原理、应用与最佳实践

在Java开发中&#xff0c;反射机制是一项核心且强大的技术&#xff0c;它允许程序在运行时获取类的信息、操作对象的属性和方法&#xff0c;甚至动态创建对象。本文将从原理、应用场景到最佳实践&#xff0c;全面解析Java反射机制&#xff0c;帮助开发者灵活运用这一技术。一、…

作者头像 李华
网站建设 2026/3/25 8:20:06

ReAct+LangGraph:构建大模型智能体的完整指南(含代码示例)

简介 本文详细介绍了如何使用LangGraph框架构建ReAct智能体&#xff0c;分为硬编码和基于大语言模型两种实现方式。ReAct框架通过"推理行动"的循环流程&#xff0c;使智能体能思考并解决问题。LangGraph允许将智能体行为定义为"图"结构&#xff0c;支持复杂…

作者头像 李华
网站建设 2026/3/27 17:06:51

从千问灵光 App 看生成式 UI 技术的发展

本文由体验技术团队OpenTiny项目负责人莫春辉老师原创。 引言 2025 年 11 月 18 日&#xff0c;蚂蚁集团全模态通用 AI 助手——灵光 App 发布&#xff0c;上线两周用户已创建 330 万个闪应用。这一现象级数据的背后&#xff0c;不仅是开发效率的提升&#xff0c;更是人机交互…

作者头像 李华
网站建设 2026/3/27 5:16:18

普通程序员必看:该不该转型AI大模型?收藏这篇少走弯路

前言&#xff1a;AI浪潮下&#xff0c;程序员的转型焦虑与机遇 在程序员的日常交流中&#xff0c;"技术迭代"和"职业转型"永远是绕不开的话题。尤其是2023年以来&#xff0c;GPT-4、文心一言等大模型相继爆发&#xff0c;AI技术从实验室走向产业落地&#…

作者头像 李华
网站建设 2026/3/26 17:57:28

医疗挂号管理系统毕业论文+PPT(附源代码+演示视频)

文章目录医疗挂号管理系统一、项目简介&#xff08;源代码在文末&#xff09;1.运行视频2.&#x1f680; 项目技术栈3.✅ 环境要求说明4.包含的文件列表&#xff08;含论文&#xff09;数据库结构与测试用例系统功能结构后台运行截图项目部署源码下载医疗挂号管理系统 如需其他…

作者头像 李华