请设计一个简单的英汉字典实现从英文到汉语的翻译。
第一行包含一个数字n(1≤n≤100),表示字典中词条的数目。每个词条的第一个空格前是一个英文单词,其后为中文解释。英文单词的字母个数不超过50个。中文解释的长度不超过200个汉字(包括标点和空格)。紧接着一个整数k(1≤k≤n),表示需要查阅的英文单词个数。其后k行,包含k个单词。
查出每个单词的中文含义。每个单词的输出单独占一行。如果这个单词不存在,则输出Sorry, not in this dictionary!
解析:对字符串的处理
代码:
#include<iostream> #include<string.h> using namespace std; struct { string a; string b; }node[110]; int main() { string str; int n; cin >> n; getchar(); int N = n; while (n--) { getline(cin, str); for (int i = 0; i < str.size(); i++) { if (str[i] == ' ') { node[n].a = str.substr(0, i); node[n].b = str.substr(i + 1, str.size() - i - 1); break; } } } int m; cin >> m; char c[201]; int ok; while (m--) { ok = 0; cin >> c; for (int i = 0; i<N; i++) { if (node[i].a==c) { ok = 1; cout << node[i].b << endl; break; } } if (!ok) cout << "Sorry, not in this dictionary!" << endl; } return 0; } /************************************************************** Problem: 1702 User: 201730685257 Language: C++ Result: 正确 Time:0 ms Memory:1484 kb ****************************************************************/