天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

2017上半年程序員考試案例分析真題(3)

程序員 責任編輯:小布丁 2017-05-25

添加老師微信

備考咨詢

加我微信

摘要:希賽網為大家整理了2017上半年程序員考試案例分析真題,以下為第三部分。【試題三】 閱讀下列說明和C函數,填補C函數中的空缺,將解答填入答案紙的對應欄目內。【說明】

    希賽網為大家整理了2017上半年程序員考試案例分析真題,以下為第三部分。


【試題三】
閱讀下列說明和C函數,填補C函數中的空缺,將解答填入答案紙的對應欄目內。
【說明】
字符串是程序中常見的一種處理對象,在字符串中進行子串的定位、插入和刪除是常見的運算。
設存儲字符串時不設置結束標志,而是另行說明串的長度,因此串類型定義如下:
Typedef struct﹛
Char*str//字符串存儲空間的起始地址
int lehgth//字符串長
int capacity//存儲空間的容量
﹜SString;
【函數1說明】
函數indexStr(S,T,pos)的功能是:在S所表示的字符串中,從下標pos開始查找T所表示字符串首次出現的位置。方法是:第一趟從S中下標為pos、T中下標偉0的字符開始,從左往右逐個對于來比較S和T的字符,直到遇到不同的字符或者到達T的末尾。若到達T的末尾,則本趟匹配的起始下標pos為T出現的位置,結束查找;若遇到了不同的字符,則本趟匹配失效。下一趟從S中下標pos+1處的字符開始,重復以上過程。若在S中找到T,則返回其首次出現的位置,否則返回-1。
例如,若S中的字符串偉″students ents″,T中的字符串偉″ent″,pos=0,則T在S中首次出現的位置為4。
【C函數1】
int index Str(SString S,SString T,int pos)

int i,j:
i(S.length<1||S.length<pos+T.length-1)
return-1;
for(i=pos,j=0;i<S.length&&j<T.length;)﹛
if(S.str<i>==T.str[j])﹛
i++;j++;

else﹛
i=();j=0


if()return i-T.length;
return-1;

【函數2說明】
函數eraseS位(S,T}的功能是刪除字符串S中所有與T相同的子串,其處理過程為:首先從字符串S的第一個字符(下標為0)開始查找子串T,若找到〈得到子串在S中的起始位置),則將串S中子串T之后的所有字符向前移動,將子串T覆蓋,從而將其刪除,然后重新開始查找下一個子串T,若找到就用后面的宇符序列進行覆蓋,重復上述過程,直到將S中所有的子串T刪除。
例如,若字符串S為“12ab345abab678”、T為“ab”。第一次找到"ab"時(位置為(2),將"345abab678"前移,S中的串改為"12345abab678",第二次找到"ab"時(位置為5);將ab678前移,S中的串改為"12345ab678",第三次找到"ab"時(位置為5);將“678‘前移,S中的串改為"12345678"。
【C函數2】
Void eraseStr(SString*S,SStringT)

int i;
int pos;
if(S->;length<||T.length<1||S->length<T.length)
return;
Pos=0
for(;;)﹛
//調用indexStr在S所表示串的pos開始查找T的位置
Pos=indexStr();
if(pos=-1)//S所表示串中不存在子串T
return;
for(i=pos+T.length;i<S->t;length;i++)//通過覆蓋來刪除自串T
S->str[()]=S->;str>[i]
S->length=();//更新S所表示串的長度



>>>>返回目錄:2017上半年程序員考試案例分析真題(匯總)
>>>>進入估分:2017上半年軟考分數早知道,在線估分+真題解析
>>>>點擊查看:2017上半年程序員上午真題答案和解析

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!