//思路:順序棧
//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。然後在第二行中指出第乙個不配對的符號 如果缺少左符...