一、
1.1
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[5]={10};
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
int b[5]={0};
for(int i=0;i<5;i++)
cout<<b[i]<<" ";
cout<<endl;
int c[5];
memset(c,10,sizeof(int)*5);
for(int i=0;i<5;i++)
cout<<c[i]<<" ";
cout<<endl;
int d[5];
memset(d,0,sizeof(int)*5);
for(int i=0;i<5;i++)
cout<<d[i]<<" ";
cout<<endl;
return 0;
}
memset()和{}只能初始化 0 ,不能初始化其他数。
2、
#include <iostream>
using namespace std;
bool IsSimilar(string a,string b)
{
int box1[26],box2[26];
int i,j,k;
for( i=0;i<26;i++)
{
box1[i]=100;
box2[i]=100;
}
for( j=0;j<a.size();j++) //判断 abc 对 xyx 是否相似
{
if(box1[a[j]-'a'] == 100)
{
box1[a[j]-'a'] = (b[j]-'a');
}
else
{
if(box1[a[j]-'a']!=(b[j]-'a'))
break;
}
}
for( k=0;k<b.size();k++) //判断 xyx 对 abc 是否相似
{
if(box2[b[k]-'a'] == 100)
{
box2[b[k]-'a'] = (a[k]-'a');
}
else
{
if(box2[b[k]-'a']!=(a[k]-'a'))
break;
}
}
if(j==a.size() and k==b.size())
return true;
}
int solve(string S,string T)
{
int num=0;
for(int i=0;i<S.size()-T.size()+1;i++) //调用函数
{
string a;
a=S.substr(i,3);
if(IsSimilar(a,T))
{
num++;
}
}
return num;
}
int main()
{
int res;
string _S;
getline(cin,_S);
string _T;
getline(cin,_T);
res=solve(_S,_T);
cout<<res<<endl;
return 0;
}
//ababcb
//xyx
二、