东方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;
}
目录
打赏
0
0
0
0
6
分享
相关文章
【Python数据魔术】:揭秘类型奥秘,赋能代码创造
【Python数据魔术】:揭秘类型奥秘,赋能代码创造
|
11月前
|
代码分享|GPL平台没有基因注释什么办?别慌,基因ID注释万能公式!
本文介绍了处理无基因注释的GEO数据集的方法。当遇到GPL平台无基因注释时,可以通过以下步骤解决:1) 查看数据集补充文件中是否已有注释矩阵;2) 使用搜索引擎或官网查找相关资源;3) 如数据集较新,尝试联系平台官方;4) 利用已有经验进行转换。文中通过多个GSE示例详细解释了如何处理不同情况,并提醒读者注意检查数据集中可能隐藏的注释信息。作者提供了转换ID的代码,并在公众号“多线程核糖体”分享了相关资源。
1130 0
揭秘C代码格式之美,助你写出'好用到哭'的示范程序!
揭秘C代码格式之美,助你写出'好用到哭'的示范程序!
48 0
颜值爆表!推荐两款JSON可视化工具,配合Swagger使用真香
经常使用Swagger的小伙伴应该有所体会,Swagger对于JSON的支持真的很不友好!最近发现了两款颜值很不错的JSON可视化工具,可以优雅地展示JSON数据从而提高开发效率,推荐给大家! 聊聊Swagger 我们先来聊聊Swagger对JSON支持有哪些不友好的地方,我们为什么需要JSON可视化工具! 当我们使用Swagger提交POST请求,输入JSON请求参数时,它既不支持JSON格式校验,也不支持格式化,用起来很不方便;