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;
}
评论区