题目大意 :
给出一行 \(9\) 个字符,其中 *
代表未知字符,在之后一行一个正整数 \(n\) ,之后 \(n\) 行,每行一个 \(9\) 个字符组成的字符串,要求打印满足除未知字符外与原字符串相等的个数,以及按输入顺序输出满足题目条件的字符串。
题目分析
本题主要考察字符串的使用。
使用 string 类型存储字符串,按位枚举判断,可以使用 cin / cout 输出。
# include <bits/stdc++.h>
using namespace std;
string s[1005];
int N, Ans;
int main () {
cin >> s[0] >> N;
for (register int i = 1; i <= N; i++) {
cin >> s[i]; bool check = true;
// 匹配代码
for (register int j = 0; j <= 8; j++)
if (s[0][j] != '*' && s[0][j] != s[i][j]) check = false;
//如果不一样则判非
if (check) Ans++;//进行比较,累计答案
} cout << Ans << endl;
for (register int i = 1; i <= N; i++) {
bool check = true;
for (register int j = 0; j <= 8; j++)
if (s[0][j] != '*' && s[0][j] != s[i][j]) check = false;
if (check) cout << s[i] << endl;
//输出字符串
}
return 0;
}
Made By \(\operatorname{wheneveright}\)