【函數(shù)2.2說明】
函數(shù)f(char*str,char del)的功能是:將非空字符串str分割成若干個子字符串并輸出,del表示分割時的標(biāo)志字符。
例如若str的值為"33123333435",del的值為"3",調(diào)用此函數(shù)后,將輸出3個子字符串,分別為"12"、"4"和"5"。
【函數(shù)2.2】
void f(char*str,char del)
{int i ,j ,len;
len=strlen(str);
i=0;
while(i while( (3) )i++;/*忽略連續(xù)的標(biāo)志字符*/ /*尋找從str[i]開始直到標(biāo)志字符出現(xiàn)的一個子字符串*/ j=i+1; while(str[j]!=del && str[j]!=′\0′)j++; (4) =′\0′;/*給找到的字符序列置字符串結(jié)束標(biāo)志*/ printf(″%s\t″,&str[i]); (5) ; } } ●試題三 閱讀下列函數(shù)說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。 【說明】 設(shè)有一個帶表頭結(jié)點的雙向循環(huán)鏈表L,每個結(jié)點有4個數(shù)據(jù)成員:指向前驅(qū)結(jié)點的指針prior、指向后繼結(jié)點的指針next、存放數(shù)據(jù)的成員data和訪問頻度freq。所有結(jié)點的freq初始時都為0。每當(dāng)在鏈表上進(jìn)行一次L.Locate(x)操作時,令元素值x的結(jié)點的訪問頻度freq加1,并將該結(jié)點前移,鏈接到現(xiàn)它的訪問頻度相等的結(jié)點后面,使得鏈表中所有結(jié)點保持按訪問頻度遞減的順序排列,以使頻繁訪問的結(jié)點總是靠近表頭。 【函數(shù)】 void Locate(int &x) {<結(jié)點類型說明> *p=first->next; while(p!=frist && (1) )P=P->next; if (p!=first)/*鏈表中存在x*/ { (2) ; <結(jié)點類型說明> *current=p;/*從鏈表中摘下這個結(jié)點*/ Current->prior->next=current->next; Current->next->prior=current->prior; P=current->prior;/*尋找重新插入的位置*/ While(p!=first && (3) )p=p->prior; Current->next= (4) ;/*插入在P之后*? Current->prior=P; P->next->prior=current; P->next= (5) ; } else printf("Sorry.Not find!\n");/*沒找到*/ } 希望與其他軟考考生進(jìn)行交流?點擊進(jìn)入軟考論壇>>> 更多信息請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |