習題3 8 符號配對 20分

2021-10-03 19:12:15 字數 1234 閱讀 5718

//思路:順序棧

//1.首先定義棧的結構體,寫棧的出棧,入棧,得棧頂元素 和棧的初始化

//2.寫符號匹配的函式

//3.對於/*的處理

#include#define maxsize 100

struct stack;

typedef struct stack seqstack;

int push(seqstack *s,char c);

int pop(seqstack *s,char *x);

int gettop(seqstack *s,char *x);

void initstack(seqstack *s);

int match(char c1,char c2);

void initstack(seqstack *s)

int push(seqstack *s,char c)

}int pop(seqstack *s,char *x)

} int gettop(seqstack *s,char *x) }

int main()

i+=1;

break;

case ')':

case '}':

case ']':

case '*':

if(s.top==-1)

':printf("?-}");

break;

case ']':

printf("?-]");

break;

case '*':

if(str[i]=='*'&&str[i+1]=='/')

printf("?-*/");

break;

}return 0;

}else

else if(str[i]=='*')//* 字元 做單獨處理

else//只是單一的 * 號

}else

return 0;}}

}}

}if(s.top==-1)

printf("yes\n");

else

return 0;

}}int match(char c1,char c2)

') return 1;

else

return 0;

break;

default:

return 0;

}}

習題3 8 符號配對 20分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...

習題3 8 符號配對 20 分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...

習題3 8 符號配對 20 分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...