字符串处理

xiaoxiao2021-02-28  35

题目引用:http://116.56.140.75:8000/JudgeOnline/problem.php?id=1702

1702: 英汉字典之(初级版)

时间限制: 1 Sec 内存限制: 64 MB

题目描述

请设计一个简单的英汉字典实现从英文到汉语的翻译。

输入

第一行包含一个数字n(1≤n≤100),表示字典中词条的数目。每个词条的第一个空格前是一个英文单词,其后为中文解释。英文单词的字母个数不超过50个。中文解释的长度不超过200个汉字(包括标点和空格)。紧接着一个整数k(1≤k≤n),表示需要查阅的英文单词个数。其后k行,包含k个单词。

输出

查出每个单词的中文含义。每个单词的输出单独占一行。如果这个单词不存在,则输出Sorry, not in this dictionary!

样例输入

8 this 这, 这个, 今, 本 is 是 a 一(非特指) super 超级的,上等的, 特大的, 特级的, 十分的, 过分的, 极好的 simple 简单的, 简易的, 朴素的, 简朴的, 天真的, 率直的, 无经验的, 易受骗的 English 英文的, 英国人的, 英格兰的, 英国人, 英语 Chinese 中国的, 中国人的, 中国话的, 汉语的, 中国人, 中国话, 汉语, 中文 dictionary 字典, 词典, 辞典 3 English english dictionary

样例输出

英文的, 英国人的, 英格兰的, 英国人, 英语 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 ****************************************************************/
转载请注明原文地址: https://www.6miu.com/read-2800196.html

最新回复(0)