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

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

紧急措施

这一题给出了要输入的行数;用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即为最后的单词长度。
}

http://www.cnnetsun.cn/news/64300.html

相关文章:

  • Flink学习笔记:多流 Join
  • AI产品经理必读:构建智能交互系统的终极指南!
  • 谷歌浏览器性能面板使用指南
  • 警惕绿色积分陷阱!一分钟揭秘消费骗局
  • 13、CentOS网络管理全攻略
  • 技术实践:用大模型平台重构医疗数据分析Pipeline
  • 智元AGIBOT荣登具身智能机器人技术研发排行榜TOP1
  • Gitee vs GitHub 2025深度评测:国产代码托管平台的崛起与超越
  • JVM 安全与沙箱深度解析
  • t-SNE快速降维算法详解与实现
  • Python编程入门从零开始掌握基础语法一
  • 20、BusyBox:嵌入式系统的强大工具
  • python 生成psd文件
  • 25、Linux内核调试全攻略:挑战与解决方案
  • 30、Linux移植与实时性:从定制平台到实时系统的深入解析
  • 【界面案例】火语言RPA读取Excel文件,循环写入界面表格
  • 【JAVA进阶】鸿蒙开发与SpringBoot深度融合:从接口设计到服务部署全解析
  • [C#][winform]基于yolov11的水下目标检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面
  • 【睿擎派】云端一体,多种通信协议构建机械臂运动控制系统
  • 4.1用户空间RTOSAPI
  • 11、嵌入式Linux开发:内核日志存储、追踪系统与设备树管理
  • 17、Yocto项目软件层与应用开发全解析
  • 宁波紧固件产业集群的外向型制造与装备升级路径
  • AI赋能工业4.0:数据堂一站式数据服务加速制造智能化落地
  • 如何打造吸睛动态头像?GIF动态头像制作指南
  • 评估AI的终极答案:LLM-As-a-Judge!AI时代,谁来评判AI?答案是AI自己!
  • Meta封闭技术大门:开源先锋为何倒向闭源阵营?
  • HRNet:深度高分辨率表示学习用于人体姿态估计-k学长深度学习专栏
  • Miniconda环境隔离机制揭秘:保障模型复现精准性
  • 颠覆认知:实测6款AI工具,论文写作“专用”比“通用”强在哪?