#include <iostream> #include <cstring> #include <cstdio> #include <fstream> using namespace std; char d[5000][20]; char m[26] = {'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','0','7','7','8','8','8','9','9','9','0'}; char num[20]; int main() { ifstream fin; fin.open("dict.txt"); ifstream in; in.open("namenum.in"); ofstream fout; fout.open("namenum.out"); int count = 0; while(fin >> d[count]){ count++; } in >> num; int flag = 0; for(int i = 0; i < count; i++){ int FLAG = 0; if(strlen(d[i]) != strlen(num)) continue; for(int j = 0; j < strlen(d[i]); j++){ if((m[d[i][j] - 'A'] == num[j] )) continue; else{ //字符的ascii码转成数值来比较 FLAG = 1; break; } } if(!FLAG){ flag = 1; fout << d[i] <<endl; } } if(!flag) fout<<"NONE"<<endl; return 0; }
字符串进行比较比较,一般用char[][]二维数组比较方便。