程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 百練 2804 詞典 解題報告

百練 2804 詞典 解題報告

編輯:C++入門知識

1.Link:http://poj.grids.cn/practice/2804/

2.content

總時間限制:
3000ms
內存限制:
65536kB
描述
你旅游到了一個國外的城市。那裡的人們說的外國語言你不能理解。不過幸運的是,你有一本詞典可以幫助你。
輸入
首先輸入一個詞典,詞典中包含不超過100000個詞條,每個詞條占據一行。每一個詞條包括一個英文單詞和一個外語單詞,兩個單詞之間用一個 空格隔開。而且在詞典中不會有某個外語單詞出現超過兩次。詞典之後是一個空行,然後給出一個由外語單詞組成的文檔,文檔不超過100000行,而且每行只 包括一個外語單詞。輸入中出現單詞只包括小寫字母,而且長度不會超過10。
輸出
在輸出中,你需要把輸入文檔翻譯成英文,每行輸出一個英文單詞。如果某個外語單詞不在詞典中,就把這個單詞翻譯成“eh”。
樣例輸入
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay

atcay
ittenkay
oopslay
樣例輸出
cat
eh
loops
提示
輸入比較大,推薦使用C語言的I / O函數。

3.code

 #include <stdio.h>
 #include <.h>
 #include <algorithm>
 
 
  MAXSTR 11
  MAXWORD 100010
 
   
 typedef 
             
  
  compare( * elem1, *       strcmp(((m_word*)elem1)->foreign,((m_word*)elem2)->  
        count =      
      chs[     
     (fgets(chs,,stdin),chs[] !=           sscanf(chs,         count++      
     qsort(m_dic,count,     
     
      m_word*     (scanf(,tmp.foreign) !=          ans = (m_word*)bsearch(&tmp,m_dic,count,         
         (ans != NULL) printf(,ans->          printf(  
     
       }

4.method

(1)fgets+sscanf

(2)qsort+bsearch

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved