尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
string---入门OJ题(1)
P5015 [NOIP 2018 普及组] 标题统计 - 洛谷1.题目思路本题就定义一个计数器然后便利一下字符串注意字符串里可能含有空格用cin的话只会读取到空格它就会认为这是一个完整的字符串了但我们需要读取整行所以用getline。代码实现#includeiostream #includestring using namespace std; int main() { string s; getline(cin, s); int count 0; for (int i 0; i s.size(); i) { if (s[i] || s[i] \n) continue; count; } cout count; return 0; }B2112 石头剪子布 - 洛谷2.题目思路就if-else每种情况比比大小不能直接用字符串比较来做默认是按字典序来比较不准。写if-else的时候除了s1s2的情况其余情况就只考虑Player1赢的情况最后一个else就是Player2赢。代码实现#includeiostream #includestring using namespace std; int n; int main() { cin n; while (n--) { string s1, s2; cin s1 s2; if (s1 s2) { cout Tie endl; } else if (s1 Rock s2 Scissors) { cout Player1 endl; } else if (s1 Scissors s2 Paper) { cout Player1 endl; } else if (s1 Paper s2 Rock) { cout Player1 endl; } else { cout Player2 endl; } } return 0; }B2115 密码翻译 - 洛谷3.题目思路纯模拟。注意解密之后a-zA-Z。注意不要直接写3个if要用else if不然比如说将s[i]由a改成z之后代码往后走又满足条件又进if里去多减了一次。代码实现#includeiostream #includestring using namespace std; int main() { string s;//直接原字符串上修改 getline(cin, s); for (int i 0; i s.size(); i) { if ((s[i] b s[i] z) || (s[i] B s[i] Z)) s[i] - 1; else if (s[i] a) s[i] z; else if (s[i] A) s[i] Z; } cout s; return 0; }P5734 【深基6.例6】文字处理软件 - 洛谷4.题目思路纯模拟。代码实现#includeiostream #includestring using namespace std; int q; string s; int main() { cin q s; while (q--) { int op 0; cin op; if (op 1) { string s_add; cin s_add; s s_add; cout s endl; } else if (op 2) { int a, b; cin a b; s s.substr(a, b);//文中说的第几个字符就表示的下标 cout s endl; } else if (op 3) { int a; string tmp; cin a tmp; s s.insert(a, tmp); cout s endl; } else { string sub; cin sub; size_t re s.find(sub); if (re string::npos) cout -1 endl; else cout re endl; } } return 0; }B2120 单词的长度 - 洛谷5.题目思路直接看代码就能看懂。代码实现#includeiostream #includestring using namespace std; int main() { string s; cin s; cout s.size(); //以单词为单位读 while (cin s) { cout , s.size(); } return 0; }B2122 单词翻转 - 洛谷6.题目思路认识一个库函数reverse。代码实现#includeiostream #includestring #includealgorithm using namespace std; int main() { string s; while (cin s) { reverse(s.begin(), s.end()); cout s endl; } return 0; }B2124 判断字符串是否为回文 - 洛谷7.题目思路直接看代码。代码实现#includeiostream #includestring #includealgorithm using namespace std; string s; int main() { cin s; int begin 0; int end s.size() - 1; while (begin end) { if (s[begin] s[end]) { begin; --end; } else { cout no endl; break; } } if (begin end) cout yes endl; return 0; }P1765 手机 - 洛谷8.题目思路首先本题需要用getline读取一整行字符串因为字符串中包含空格。读取完成之后就便利字符串并且在便利的过程之中计算每一个字符要按多少下最后累加在一起就是答案。怎么计算呢每一个字符的按的次数都是固定的我们可以将它们存起来就很想算每个月的最大天数每个月的最大天数也是固定的除了润年要单独判断其他的就都固定的所以也是存进到了一个数组里方便直接根据下标找到对应的值。那怎么根据字母去计算到它对应的次数在哪个下标里存着呢用ASCII码表就可以了a的ASCII码为97只要用s[i]-97就能得到对应的下标。代码实现#includeiostream #includestring #includealgorithm using namespace std; int main() { int cnts[26] { 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4 }; string s; getline(cin, s); int cnt 0;//总按键次数 for (int i 0; i s.size(); i) { //空格按一次特判一下 if (s[i] ) cnt; else//加else和不加else是两回事 cnt cnts[s[i] - 97];//s[i]-97就是对应下标 } cout cnt; return 0; }P1957 口算练习题 - 洛谷9.题目思路先按照字符串读入第一个字符串判断一下是不是a/b/c如果是说明当前这行有3个数据如果不是就说明当前这行有两个数据执行的是上一次的计算。代码实现#includeiostream #includestring #includealgorithm using namespace std; int i; int main() { cin i; string op; string last_op; while (i--) { cin op; //该行有3个数据 if (op a || op b || op c) { string x, y, ans; cin x y; int l stoi(x); int r stoi(y); ans x y; if (op a) { printf(%d%d%d\n, l, r, r l); ans to_string(r l); //2是加的和 cout ans.size() 2 endl; } else if (op b) { printf(%d-%d%d\n, l, r, l - r); ans to_string(l - r); cout ans.size() 2 endl; } else { printf(%d*%d%d\n, l, r, l * r); ans to_string(r * l); cout ans.size() 2 endl; } last_op op;//存一下这一次的运算符号 } //该行有2个数据 else { string y, ans; cin y; int l stoi(op); int r stoi(y); ans op y; if (last_op a) { printf(%d%d%d\n, l, r, r l); ans to_string(r l); cout ans.size() 2 endl; } else if (last_op b) { printf(%d-%d%d\n, l, r, l - r); ans to_string(l - r); cout ans.size() 2 endl; } else { printf(%d*%d%d\n, l, r, l * r); ans to_string(r * l); cout ans.size() 2 endl; } } } return 0; }
RELATED

相关推荐

AI 驱动的前端自动化回归测试:截图对比与 DOM 快照的双保险方案

AI 驱动的前端自动化回归测试:截图对比与 DOM 快照的双保险方案

AI 驱动的前端自动化回归测试:截图对比与 DOM 快照的双保险方案 前端回归测试长期处于两难境地:纯手动测试效率低、易遗漏;纯自动化测试又难以覆盖视觉层面的细微差异。一次 CSS 属性调整,可能让某个弹窗偏移了 2px,单…

📅 2026/9/15 7:26:05
全球最大数据中心黄了!美国电网卡住AI,GobiX在中国戈壁破局

全球最大数据中心黄了!美国电网卡住AI,GobiX在中国戈壁破局

马斯克向天要电、孙正义向地烧气,当全球都在为AI的电发愁时,远景把答案写在了戈壁滩上。37.7C,干趴了一台国家级AI超算。6月底,英国遭遇有记录以来最热的六月。剑桥大学的Dawn——全英最快的AI超算之一——冷却系统当场热瘫&#…

📅 2026/7/15 6:24:12
Perplexity API集成避坑指南:从零部署到生产环境的6个致命错误(附调试日志原始截图)

Perplexity API集成避坑指南:从零部署到生产环境的6个致命错误(附调试日志原始截图)

更多请点击: https://codechina.net 第一章:Perplexity API集成避坑指南:从零部署到生产环境的6个致命错误(附调试日志原始截图) Perplexity API虽提供简洁的LLM调用接口,但实际集成中高频出现隐性失败——…

📅 2026/9/14 16:18:04
MORE NEWS

更多资讯

📰

AWS CLI acm-pca create-certificate-authority-audit-report 命令实战:为私有 CA 生成合规审计报告

AWS CLI acm-pca create-certificate-authority-audit-report 命令实战:为私有 CA 生成合规审计报告 【免费下载链接】aws-cli Universal Command Line Interface for Amazon Web Services 项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli 本篇文…

📰

A2UI 协议深度解析:基于 JSONL 的流式 UI 渲染协议设计指南(v0.8)

A2UI 协议深度解析:基于 JSONL 的流式 UI 渲染协议设计指南(v0.8) 【免费下载链接】a2ui 项目地址: https://gitcode.com/GitHub_Trending/a2/a2ui A2UI(Agent to UI)是 a2ui 项目中面向 LLM 智能体的一整套流…

📰

智能体组织将取代公司?从交易成本到组织重构

最近几个月,我陆续见了几位做“一人公司”“三五个人的创业团队”做得风生水起的朋友,聊下来发现一个很反直觉的现象:他们的产出规模,已经逼近甚至超过了不少几十人的传统公司。撑起这些团队的,不是加班文化&#xff0…

📰

RAG路由机制:提升AI应用性能的关键技术

1. RAG应用中的路由机制解析在构建基于检索增强生成(RAG)的AI应用时,路由机制是决定系统性能的关键组件。它就像城市交通系统中的智能调度中心,负责将用户查询精准分配到最适合的处理单元。不同于传统搜索引擎的线性流程&#xff…

📰

MCP实战:从零编写MCP Server构建AI Agent工具链

我最早意识到“工具链”必须标准化,是在被 AI Agent 的工具调用折腾得七零八落的时候。当时几个 Agent 项目同时推进,光是适配不同模型的 Function Calling 格式就够写一本书了。直到 MCP(Model Context Protocol,模型上下文协议&…

📰

SpringBoot+Vue3课程作业管理系统设计与部署实战解析

最近帮一个朋友把一个Java Web课程作业管理系统的源码完整跑通了一遍,技术栈是SpringBoot2Vue3MyBatis-PlusMySQL8.0,还带配套文档。说实话,这种"管理系统"类项目在大学课程设计、毕业设计和中小型内部工具中出镜率极高&#xff0c…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬