牛客竞赛每日俩题 - Day10

news/2024/12/22 2:55:16/

目录

输入输出的细节

函数find()的用法


输入输出的细节

收件人列表__牛客网

  • 细节一:当输入转行后又要使用getline()时,必须先使用getchar()吃掉前面的转行符'\n';
  • 细节二:用getline()输入带空格字符串;
  • 细节三:输出字符 ' " ' 时用cout << " \" "

补充:printf("%.2f%%\n", 100.0 * d[n] / f[n]); 打印百分号‘%’用%%

#include <iostream>
using namespace std;
#include <string>
int main()
{int n;while (cin >> n) {// 注意:接收完第一行的整数之后,必须要再接收下该行之后的空格,无法直接获取下一行getchar();string name;for (int i = 0; i < n; ++i){// 接收一个用例,当找到','或者‘ ’时候补双引号// 否则:输出getline(cin, name);if (name.find(',') != string::npos || name.find(' ') != string::npos) {cout << "\"" << name << "\"";}else{cout << name;}// 注意:最后一个名字之后没有,if (i + 1 != n)cout << ", ";}cout << endl;}return 0;
}

函数find()的用法

抄送列表__牛客网

 函数find()

1、对string的查找

int main()
{string s="01234567";cout<<"字符串为:"<<s<<endl;int pos0=s.find('3');cout<<"查到的下标:"<<pos0<<endl;int pos1=s.find('a');cout<<"未查到返回:"<<pos1<<endl;return 0;
}字符串为:01234567
查到的下标:3
未查到返回:-1

2、当pos为无符号整形size_t时

int main()
{string s = "01234567";cout << "字符串为:" << s << endl;size_t pos1 = s.find('a');cout << "未查到返回:" << pos1 << endl;if (pos1 == -1) cout << 666 << endl;return 0;
}字符串为:01234567
未查到返回:4294967295
666

可见虽然是无符号导致值不为-1,但判断时会有整形提升导致依然可以判断成功

3、对于各种容器如果有s.find(容器内容) == s.end()则表示找不到

#include <iostream>
using namespace std;
#include <unordered_set>
#include <string>
int main()
{// 循环处理每一组测试用例string name;while (getline(cin, name)){// 将第一行中的所有名字进行拆解,保存在unordered_set中,方便后序查找unordered_set<string> s;size_t pos = 0;while (pos < name.size()){// 该名字使用""包含了,将该名字截取出来if (name[pos] == '\"'){size_t end = name.find("\"", pos + 1);s.insert(name.substr(pos + 1, end - pos - 1));pos = end + 2;//跳掉后面的双引号和逗号}else{// 该名字没有使用""包含,找到改名字的末尾后直接截取size_t end = name.find(",", pos + 1);if (end == -1){// 已经是最后一个名字了s.insert(name.substr(pos, name.size() - pos));break;}s.insert(name.substr(pos, end - pos));pos = end + 1; //跳掉后面的逗号}}// 接收第二行的名字,然后检测其是否在unordered_set中存在getline(cin, name);if (s.find(name) == s.end()){printf("Important!\n"); //没找到}else{printf("Ignore\n"); //找到了}}return 0;
}


http://www.ppmy.cn/news/5263.html

相关文章

Java——记录BigDecimal与0比较的一个坑

文章目录前言问题解决问题解决前言 在之前做的一个项目中&#xff0c;为了保证BigDecimal在除数 divide时&#xff0c;如果被除数为0&#xff0c;出现java.lang.ArithmeticException: / by zero 报错问题&#xff0c;写了一个对比。具体代码如下&#xff1a; public static B…

jdk8新特性

一、lambda表达式 Lambda表达式相当于是对接口抽象方法的重写 对比匿名内部类与lambda表达式 package com.bz.jdk8.demo01_Lambda; /*** 体验Lambda表达式*/ public class Demo01LambdaIntro {public static void main(String[] args) {// 使用匿名内部类存在的问题// public …

React Native - webview 内外通信

React Native - webview 内外通信 消息的传递需要注意是字符串. webview 向 RN 发送消息 js 发送消息: if (window.ReactNativeWebView) {ReactNativeWebView.postMessage("123321"); }RN 收消息: <WebViewref{webView}originWhitelist{[*]}javaScriptEnable…

Educational Codeforces Round 136 (Rated for Div. 2) C. Card Game

原题链接&#xff1a;Problem - 1739C - Codeforces 题意&#xff1a;n 张卡&#xff0c;Alice 和Bob 轮流出牌&#xff0c;对方应牌&#xff0c;不能应牌的一方失败&#xff0c;应牌要求是比对方出的大。 思路&#xff1a;我们考虑Alice必胜的情况&#xff1a; 1.若AIice拿…

艾美捷耗氧率检测试剂盒说明书及相关研究

细胞内稳态通过ATP的产生来维持。ATP的生成可以通过单独的糖酵解&#xff08;无氧呼吸&#xff09;或通过糖酵解与氧化磷酸化的耦合来完成。氧化磷酸化是氧&#xff08;O2&#xff09;依赖性的&#xff0c;发生在线粒体中&#xff0c;是哺乳动物细胞合成ATP的最有效和优选的方法…

【Numpy基础知识】使用genfromtxt导入数据

使用Numpy进行I/O操作 来源&#xff1a;Numpy官网&#xff1a;https://numpy.org/doc/stable/user/basics.html 文章目录使用Numpy进行I/O操作导包【1】定义输入【2】将行拆分为列【3】跳过行和选择列【4】选择数据类型【5】设置名称【6】调整转换【7】快捷键功能NumPy 提供了几…

java实验报告之Employee类的设计

一个不知名大学生&#xff0c;江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2022.12.20 Last edited: 2022.12.20 目录 一、实验目的 二、实验内容 三、总体设计&#xff08;设计原理、设计方案及流程等&#xff09; 四…

jmeter简单压力测试

测试目的&#xff1a;10个用户并发访问一个接口&#xff08;http://127.0.0.1:8080/dfm/login.action&#xff09;&#xff0c;能否正常响应。 一、打开JMeter 二、右击“测试计划”&#xff0c;添加线程组 三、设置线程组的线程数 JMeter中的线程组&#xff0c;类似于LoadRunn…