【程式設計題】(滿分19分)
在非常多軟體中。輸入拼音的首寫字母就能夠高速定位到某個詞條。比方,在鐵路售票軟體中,輸入: 「bj」就能夠定位到「北京」。如何在自己的軟體中實現這個功能呢?問題的關鍵在於:對每乙個漢字必須能計算出它的拼音首字母。
gb2312漢字編碼方式中。一級漢字的3755個是依照拼音順序排列的。我們能夠利用這個特徵。對經常使用漢字求拼音首字母。
gb2312編碼方案對每乙個漢字採用兩個位元組表示。
第乙個位元組為區號,第二個位元組為區中的偏移號。為了能與已有的ascii編碼相容(中西文混排),區號和偏移編號都從0xa1開始。
我們僅僅要找到拼音a,b,c,...x,y,z 每乙個字母所相應的gb2312編碼的第乙個漢字。就能夠定位全部一級漢字的拼音首字母了(不考慮多音字的情況)。
以下這個表給出了前述資訊。請你利用該錶編敲**,求出經常使用漢字的拼音首字母。
a 啊 b0a1
b 芭 b0c5
c 擦 b2c1
d 搭 b4ee
e 蛾 b6ea
f 發 b7a2
g 噶 b8c1
h 哈 b9fe
j 擊 bbf7
k 喀 bfa6
l 垃 c0ac
m 媽 c2e8
n 拿 c4c3
o 哦 c5b6
p 啪 c5be
q 期 c6da
r 然 c8bb
s 撒 c8f6
t 塌 cbfa
w 挖 cdda
x 昔 cef4
y 壓 d1b9
z 匝 d4d1
【輸入、輸出格式要求】
使用者先輸入乙個整數n (n<100),表示接下來將有n行文字。接著輸入n行中文串(每乙個串不超過50個漢字)。
程式則輸出n行,每行內容為使用者輸入的相應行的漢字的拼音首字母。
字母間不留空格。所有使用大寫字母。
比如:使用者輸入:
3大家愛科學
北京天安門廣場
軟體大賽
則程式輸出:
djakx
bjtamgc
rjds
【注意】
請細緻除錯!
您的程式僅僅有能執行出正確結果的時候才有機會得分!
在評卷時使用的輸入資料與試卷中給出的例項資料可能是不同的。
請把全部函式寫在同乙個檔案裡,除錯好後,複製到【考生目錄】下相應題號的「解答.txt」中就可以。
相關的project檔案不要拷入。
原始碼中不能使用諸如畫圖、win32api、中斷呼叫、硬體操作或與作業系統相關的api。
同意使用stl類庫。但不能使用mfc或atl等非ansi c++標準的類庫。
比如,不能使用cstring型別(屬於mfc類庫),不能使用randomize, random函式(不屬於ansi c++標準)
使用c++中的string來解決該問題。
首先建立乙個二維陣列,用來作為比較的標準:
a[2][23]=,
};
將每行輸入的句子儲存到乙個string中。然後再進行字串切割,得到每個文字,然後將得到的該文字與陣列中的文字逐個比對,得到相應的英文本母。
/*copy right by qianshou:
#include#includeusing namespace std;
string a[2][23]=,
};string search(string &temp)
}string fun(string &str)
{ int len = str.length();
string result = "";
for(int i=0;i>n;
for(int i=0;i>str;
cout<
藍橋杯 「拼音字母」
程式設計題 滿分19分 在很多軟體中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟體中,輸入 bj 就可以定位到 北京 怎樣在自己的軟體中實現這個功能呢?問題的關鍵在於 對每個漢字必須能計算出它的拼音首字母。gb2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們...
藍橋杯 拼音字母
在很多軟體中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟體中,輸入 bj 就可以定位到 北京 怎樣在自己的軟體中實現這個功能呢?問題的關鍵在於 對每個漢字必須能計算出它的拼音首字母。gb2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們可以利用這個特徵,對常用...
歷屆試題 拼音字母
程式設計題 滿分19分 在很多軟體中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟體中,輸入 bj 就可以定位到 北京 怎樣在自己的軟體中實現這個功能呢?問題的關鍵在於 對每個漢字必須能計算出它的拼音首字母。gb2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們...