东方Project相关试题(Easy)(P7869 「Wdoi-4」使用三个系统程度的能力)(字符串处理)

简介: 算法

题意:


输入共一行,为转换后的文本文件。保证文本文件非空,且转换前至少有一个换行符。输入可能包含空格。


数据范围:


对于40% 的数据,保证不存在空格。

对于100% 的数据,保证输入字符串的长度≤10^5。输入中仅包含大写英文字母、小写英文字母、下划线、数字、空格和转义字符(\r、\n)。

样例:


输入 #1


SCP2021RPplusplus\nchenzheAKIOI\n1plus1equalto2\n

输出 #1


linux


思路:


不难发现这题就是考察对字符串的处理,难度也只是入门难度


①:那么只需要使用getline 函数读入整行字符串,然后使用find 函数查询里面是否含有即可。要注意的是,如果find函数没能查找到某个需要匹配的字符串,返回值是 ULLONG_MAX。


②:fgets(数组名,最大长度,stdin);因为gets在c++11后就无了,得学会使用fgets函数

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+1000;
char ss[maxn];
int main()
{
    string s1,s2;
    int n,i,j,t;
//    fgets(ss,maxn,stdin);
    getline(cin,s1);
    cout<<ss<<" "<<s1<<endl;
    int d1=s1.length()-1,f1=1;
    for(i=0;i<d1+1;i++)
    {
        if(s1[i]=='\\'&&s1[i+1]=='r'&&s1[i+2]=='\\'&&s1[i+3]=='n'&&f1<4)
            f1=4;
        else if(s1[i]=='\\'&&s1[i+1]=='n'&&f1<3)
            f1=3;
        else if(s1[i]=='\\'&&s1[i+1]=='r'&&f1<2)
            f1=2;
    }
    if(f1==4)
    {
        cout<<"windows"<<endl;
    }
    else if(f1==3)
    {
        cout<<"linux"<<endl;
    }
    else
    {
        cout<<"mac"<<endl;
    }
    return 0;
}
相关文章
|
3月前
|
机器学习/深度学习 存储 算法
python高级在线题目训练-第一套-主观题
python高级在线题目训练-第一套-主观题
36 0
|
9月前
|
算法 数据安全/隐私保护 芯片
快速入门数字芯片设计,UCSD ECE111(十一)Project的一些注意事项
快速入门数字芯片设计,UCSD ECE111(十一)Project的一些注意事项
77 0
|
Go C语言 索引
python 基础 字符串烧烤流程
python 基础 字符串烧烤流程
69 0
python 基础 字符串烧烤流程
|
算法 Python
云从科技研究院视觉算法实习技术面试-python题-python列表推导式的使用写法
云从科技研究院视觉算法实习技术面试-python题-python列表推导式的使用写法
|
SQL 数据可视化 数据挖掘
数据分析大作战,SQL V.S. Python,来看看这些考题你都会吗 ⛵
SQL与Pandas都可以完成大部分数据分析需求。本文用SQL与Pands逐一实现10类核心数据分析需求,轻松进行对比学习:数据选择、限制、统计计数、排序、新字段生成、数据选择、数据分组、统计均值、方差、极差/范围。
2066 1
数据分析大作战,SQL V.S. Python,来看看这些考题你都会吗 ⛵