金陵科技学院实验报告
{
if (maxsize - 1 == s->top) {
printf(\栈空间已满!\ return; } else {
++s->top;
s->data[s->top] = ch; } }
char Pop(Stack *s) {
char ch;
if (-1 == s->top) {
printf(\空栈!\ return '\\0'; } else
金陵科技学院实验报告
{
ch = s->data[s->top]; --s->top; return ch; } }
int main() {
int i = 0; Stack s;
char ch[maxsize]; gets(ch); s.top=-1;
if (ch == NULL || *ch == '\\0') printf(\匹配\\n\
while (ch[i] != '\\0') {
if (ch[i] == '(') Push(&s,ch[i]); else if (ch[i] == ')') {
金陵科技学院实验报告
if (s.top == -1) {
printf(\不匹配\\n\ exit(0); } else Pop(&s); } i++; }
if (s.top != -1) {
printf(\不匹配\\n\ } else
printf(\匹配\\n\} 1.(2)
#include
void move(int n,char a,char c)
金陵科技学院实验报告
{
printf(\第%d步:将%d号盘子%c--->%c\\n\}
void hanno(int n,char a,char b,char c) {
if(n==1) move(1,a,c); else {
hanno(n-1,a,c,b); move(n,a,c); hanno(n-1,b,a,c); } } main() { int n; char a,b,c;
printf(\请输入要移动的盘子数\\n\ scanf(\ a='A'; b='B';
相关推荐: