查看匯總:2014計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫(kù)》上機(jī)例題精講匯總
【考點(diǎn)分析】 本題考查對(duì)字符數(shù)組中字符計(jì)算和替換?疾榈闹R(shí)點(diǎn)主要包括:字符串?dāng)?shù)組的訪問(wèn),字符ASCII碼的算術(shù)運(yùn)算,if判斷結(jié)構(gòu)以及邏輯表達(dá)式。
【解題思路】 此題屬于字符計(jì)算問(wèn)題。分析題干要求,可以歸納出3個(gè)關(guān)鍵點(diǎn):關(guān)鍵點(diǎn)1如何對(duì)字符數(shù)組的元素逐個(gè)訪問(wèn);關(guān)鍵點(diǎn)2如何根據(jù)給出的函數(shù)替代關(guān)系"f(p)=p*11mod256"對(duì)字符進(jìn)行計(jì)算;關(guān)鍵點(diǎn)3根據(jù)條件(本題為"小于等于32或?qū)?yīng)的字符是大寫(xiě)字母")對(duì)計(jì)算結(jié)果進(jìn)行判斷,并分別對(duì)滿足與不滿足條件的情況進(jìn)行處理。
解此類(lèi)題的一般思路為:首先通過(guò)字符串處理函數(shù)strlen獲取字符串的長(zhǎng)度,根據(jù)獲得的長(zhǎng)度使用下標(biāo)法逐一對(duì)字符數(shù)組的元素進(jìn)行訪問(wèn);然后按照題目給出的函數(shù)關(guān)系式直接對(duì)字符進(jìn)行算術(shù)運(yùn)算;最后通過(guò)if判斷結(jié)構(gòu)和邏輯表達(dá)式判斷計(jì)算結(jié)果是否滿足條件,分別對(duì)兩種情況進(jìn)行處理。
【參考答案】
void encryChar()
{
int i,j; /*定義循環(huán)控制變量*/
int str; /*存儲(chǔ)字符串的長(zhǎng)度*/
char ch; /*存儲(chǔ)當(dāng)前取得的字符*/
for(i=0;i { str=strlen(xx[i]); /*求得當(dāng)前行的字符串長(zhǎng)度*/ for(j=0;j { ch=xx[i][j] *11%256; /*依次取各行的所有字符*/ if(ch<=32 || (ch>='A' && ch<='Z')) /*如果計(jì)算的值小于等于32或?qū)?yīng)的字符是大寫(xiě)字母*/ continue; /*則不作改變*/ else xx[i][j]=ch; /*否則用新字符取代原有字符*/ } } } 【模板速記】 記憶口訣:一定義二替換。定義指定義相關(guān)變量,替換指按題目要求及替代關(guān)系對(duì)字符替換。詳見(jiàn)模板六。做題時(shí),需靈活應(yīng)用本模板,切勿死記硬背。
模板六 字符操作類(lèi)(1)-字符串替代 【易錯(cuò)提示】 根據(jù)函數(shù)替代關(guān)系對(duì)字符進(jìn)行運(yùn)算;if判斷結(jié)構(gòu)中的邏輯表達(dá)式。 相關(guān)推薦: 2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |