尧图网络 高端网站定制 · 原创设计
免费咨询热线
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/11/6 1:51:22
全球最大数据中心黄了!美国电网卡住AI,GobiX在中国戈壁破局

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

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

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

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

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

📅 2026/11/11 16:49:34
MORE NEWS

更多资讯

📰

电工作业检查事项清单保姆级教程:实操考试心里没底怕挂科

电工作业检查事项清单保姆级教程:实操考试心里没底怕挂科 实操考试心里没底怕挂科?你是济源的在职建筑工人,正准备报考电工作业操作证,却对检查事项清单一头雾水?别急,这是一份保姆级教程,带你一步步梳理电工作业检查事项清单,从报名到考试、复审,全…

📰

本地电工证在哪里复审考前押题怎么拿?学历不高也能考的真相

本地电工证在哪里复审考前押题怎么拿?学历不高也能考的真相 学历不高怕报不上名?其实电工证考试不看你学历,只要你能通过实操和理论考试,就能拿到证书。但很多人在复审时却卡在了“本地电工证在哪里复审”这个问题上,不知道流程、不知道该去哪里、也不知…

📰

工地太忙根本没时间复习考试?特种工证好处+真实经历告诉你怎么应对

工地太忙根本没时间复习考试?特种工证好处+真实经历告诉你怎么应对 我是在濮阳某工地做项目现场管理员时,第一次深刻意识到特种工证的重要性。那年冬天,工地上一位高压电工在操作设备时发生意外,虽未造成人员伤亡,但事后调查发现他持有的特种作业操作证…

📰

网办高压电工证保姆级教程:外省证怎么转回本地用

网办高压电工证保姆级教程:外省证怎么转回本地用 之前考的证在外省能不能转过来?你不是一个人。不少在洛阳涧西区工作的建筑工人,手里攥着外地考的高压电工证,一到换岗、转工地、甚至是考职称的时候,才发现证没在本地备案,根本没法用。今天这篇…

📰

特种工陪考郑州报考避坑指南:实操考试心里没底怕挂科怎么办?

特种工陪考郑州报考避坑指南:实操考试心里没底怕挂科怎么办? 实操考试心里没底怕挂科,这是很多准备特种工考试的人的真实写照。尤其是在郑州这样的大城市,报考特种作业操作证的人数越来越多,竞争也愈发激烈。很多考生在备考过程中遇到各种问题,比如不知…

📰

特种作业管理证考试怎么考?郑州报考避坑指南全解析

特种作业管理证考试怎么考?郑州报考避坑指南全解析 证书过期了不知道怎么复审延期?这事儿不少人都踩过坑,特别是像你这样在济源项目现场做管理员的,特种作业管理证考了之后,一旦没及时复审,可能连项目都进不去。今天我就用一个真实案例,带你理清楚【特…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬