freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華南農(nóng)業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)上機實驗指導(dǎo)書(附答案)-資料下載頁

2025-06-19 13:07本頁面
  

【正文】 tackEmpty(s)) // 棧不空 { _________________________。 // 彈出棧頂元素 if(*p==39。)39。amp。amp。e!=39。(39。||__________________amp。amp。__________________) // 彈出的棧頂元素與*p不配對{ printf(isn39。t matched pairs\n)。 exit(ERROR)。 } else { __________________________。 break。 // 跳出switch語句 } } else // 棧空 { printf(lack of left parenthesis\n)。 exit(ERROR)。 } default: ______________________。 // 其它字符不處理,指針向后移 } if(StackEmpty(s)) // 字符串結(jié)束時棧空 printf(matching\n)。 else printf(lack of right parenthesis\n)。 } }int main() { check()。 return 1。 }測試樣例格式說明:[鍵盤輸入]第一行:輸入一個包含圓括號或方括號、不超過80個字符的表達(dá)式串。 [正確輸出]第一行:若輸入表達(dá)式括號匹配,輸出” matching”。 若不匹配,輸出具體信息:” isn’t matched pairs”, 或’’ lack of left parenthesis” 或”lack of right parenthesis”測試樣例:[第一組自測數(shù)據(jù)][鍵盤輸入]8*[3*(3523)]↙[正確輸出]matching[第二組自測數(shù)據(jù)] [鍵盤輸入]67[235/ (36+89]↙[正確輸出]isn’t matched pairs完整代碼:typedef char SElemType。includeincludeincludeincludedefine OK 1define ERROR 0define TRUE 1define FALSE 0typedef int Status。define STACK_INIT_SIZE 10define STACKINCREMENT 2struct SqStack{ SElemType *base。 SElemType *top。 int stacksize。}。Status InitStack(SqStack amp。S){ =(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType))。 if(!) return 0。 =。 =STACK_INIT_SIZE。 return OK。}Status StackEmpty(SqStack S){ if(==) return TRUE。 else return FALSE。}Status Push(SqStack amp。S,SElemType e){ if(=) { =(SElemType*)realloc(,(+STACKINCREMENT)*sizeof(SElemType))。 if(!) return 0。 =+。 +=STACKINCREMENT。 } *++=e。 return OK。}Status Pop(SqStack amp。S,SElemType amp。e){ if(==) return ERROR。 e=*。 return OK。}void check() { SqStack s。 SElemType ch[80],*p,e。 if(InitStack(s)) { gets(ch)。 p=ch。 while(*p) switch(*p) { case 39。(39。: case 39。[39。:Push(s,*p++)。 break。 case 39。)39。: case 39。]39。:if(!StackEmpty(s)) { Pop(s,e)。 if(*p==39。)39。amp。amp。e!=39。(39。||*p==39。]39。amp。amp。e!=39。[39。) { printf(isn39。t matched pairs\n)。 return 。 } else { p++ 。 break。 } } else { printf(lack of left parenthesis\n)。 return 。 } default: p++。 } if(StackEmpty(s)) printf(matching\n)。 else printf(lack of right parenthesis\n)。 } }int main(){ check()。 return 1。}[題目4:利用棧編寫簡單的行編輯程序:接受用戶從終端輸入的程序或數(shù)據(jù),在輸入過程中,允許用戶輸入出差錯,并在發(fā)現(xiàn)有誤時可以及時更正。例如:當(dāng)用戶發(fā)現(xiàn)剛剛鍵入的一個字符是錯的時,可以補進一個退格符“”,以表示前一個字符無效;如果發(fā)現(xiàn)當(dāng)前鍵入的行內(nèi)差錯較多或難以補救,則可以鍵入一個退行符“@”,以表示當(dāng)前行中的字符均無效。例如:假設(shè)從終端接受了這樣兩行字符: whliilre (s*s) outcha@putchar(*s=++)。 則實際有效的是下列兩行: while (*s) putchar(*s++)。 本題目給出部分函數(shù),要求將行編輯函數(shù)補充完整,并完成整個程序。 typedef char SElemType。 include include include include // exit() define OK 1 define ERROR 0 define TRUE 1 define FALSE 0 typedef int Status。 // Status是函數(shù)的類型,其值是函數(shù)結(jié)果狀態(tài)代碼,如OK等 define STACK_INIT_SIZE 10 // 存儲空間初始分配量 define STACKINCREMENT 2 // 存儲空間分配增量 struct SqStack { SElemType *base。 // 在棧構(gòu)造之前和銷毀之后,base的值為NULL SElemType *top。 // 棧頂指針 int stacksize。 // 當(dāng)前已分配的存儲空間,以元素為單位 }。 // 順序棧 FILE *fp。 Status InitStack(SqStack amp。S) { // 構(gòu)造一個空棧S } Status StackEmpty(SqStack S) { // 若棧S為空棧,則返回TRUE,否則返回FALSE } Status ClearStack(SqStack amp。S) { // 把S置為空棧 =。 return OK。 } Status DestroyStack(SqStack amp。S) { // 銷毀棧S,S不再存在 free()。 =NULL。 =NULL。 =0。 return OK。 } Status Push(SqStack amp。S,SElemType e) { // 插入元素e為新的棧頂元素 } Status Pop(SqStack amp。S,SElemType amp。e) { // 若棧不空,則刪除S的棧頂元素,用e返回其值,并返回OK;否則返回ERROR } Status StackTraverse(SqStack S,Status(*visit)(SElemType)) { // 從棧底到棧頂依次對棧中每個元素調(diào)用函數(shù)visit()。 // 一旦visit()失敗,則操作失敗 while() visit(*++)。 printf(\n)。 return OK。 } Status visit(SElemType c) { printf(%c,c)。 return OK。 } void LineEdit() { // 利用字符棧s,從終端接收一行并送至調(diào)用過程的數(shù)據(jù)區(qū)。 SqStack s。 char ch,c。 int n,i。 InitStack(s)。 scanf(%d,amp。n)。 ch=getchar()。 for(i=1。i=n。i++) { ch=_______________________________。 while(ch!=39。\n39。) { switch(_____________________) { case 39。39。:Pop(s,c)。 break。 // 僅當(dāng)棧非空時退棧 case 39。@39。:ClearStack(s)。 break。 // 重置s為空棧 default :_________________________________。 // 有效字符進棧 } ____________________________。 // 從終端接收下一個字符 } StackTraverse(s,visit)。 // 將從棧底到棧頂?shù)臈?nèi)字符輸出 _____________________________________。 // 重置s為空棧 } DestroyStack(s)。 } int main() { LineEdit()。 return 1。} 測試樣例格式說明:[鍵盤輸入]第一行:第一個字符為輸入文本的行數(shù)n;第二行至第n行:每行均為一串字符,其間可以含有“”和“@”符號,以回車鍵結(jié)束本行的輸入。[正確輸出]輸出第一至第n行的內(nèi)容如下: 第一行:第一行從終端輸入的有效字符。 第二行:第二行從終端輸入的有效字符。 …… …… 第n行:第n行從終端輸入的有效字符。測試樣例:[第一組自測數(shù)據(jù)][鍵盤輸入]2defneine OK 1↙typp cila@type int element↙[正確輸出]define OK 1type int element[第二組自測數(shù)據(jù)][鍵盤輸入]2vokd convwsion@conversion↙Init(ss) ↙ [正確輸出]conversionInit(s)完整代碼:typedef char SElemType。includeincludeincludeincludedefine OK 1define ERROR 0define TRUE 1define FALSE 0typedef int Status。define STACK_INIT_SIZE 10define STACKINCREMENT 2struct SqStack{ SElemType *base。 SElemType *top。 int stacksize。}。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1