京东机试
一、
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
二、