侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计创建 2 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

编程月1

hylhyl
2025-05-09 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

10: 找子串

#include<bits/stdc++.h>
using namespace std;
char change(char a)
{
    if('A'<=a&&a<='Z') return (char)(a+'a'-'A');
    else return a;
}
bool cmp(string a,string b)
{
    for(int i=0;i<a.length();i++)
    {
        if(change((char)a[i])!=change( (char)b[i] ) )
        {
            return false;
        }
    }
    return true;
    
}
int main()
{
    string ss,t;
    getline(cin,ss);
    getline(cin,t);
    int len=t.length();
    string ans;
    int i=0;
    for(i=0;i+len<ss.length();i++)
    {
        string a=ss.substr(i,len);
        if(!cmp(a,t)) 
        {
            ans+=ss[i];
        }
        else
        {
            ans+="/*";
            ans+=a;
            ans+="*/";
            i+=len-1;
        }
    }
    while(i<ss.length()) ans+=ss[i++]; 
    cout<<ans;
}

ACSII码

#include<bits/stdc++.h>
using namespace std;
int cla(char s)
{
    if('0'<=s&&s<='9') return (int)(s-'0');
    return (int)(s-'A'+10);
}
void solve()
{
    string s;cin>>s;
    for(int i=0;i<s.length();i+=2)
    {
        cout<<(char)(cla(s[i])*16+cla(s[i+1]));
    }
    cout<<endl;
}
int main()
{
    int t;cin>>t;
    while(t--) solve();
    return 0;
}

6: IP地址判断

#include<bits/stdc++.h>
using namespace std;
bool check(int a)
{
    if(0<=a&&a<=255) return true;
    else return false;
}
int main()
{
    string s;
    while(getline(cin,s))
    {
        if(s=="End of file") break;
        int a,b,c,d;
        sscanf(s.c_str(),"%d.%d.%d.%d",&a,&b,&c,&d);
        if(s==(to_string(a)+"."+to_string(b)+"."+to_string(c)+"."+to_string(d)) &&check(a)&&check(b)&&check(c)&&check(d))
        {
            cout<<"YES"<<endl;
        }
        else cout<<"NO"<<endl;
    }
    return 0;
}

0

评论区