字符串处理

题目引用: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 
****************************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值