看下这段代码,谁帮忙画出流程图!
// 判断中心对称.cpp : Defines the entry point for the console application.//
#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#define STACK_INIT_SIZE 50
#define ARRAYSIZE 100
struct sqstack
{
char *base,*top;
int stacksize;
};
void Initstack(sqstack &s)
{
s.base=(char*)malloc(STACK_INIT_SIZE*sizeof(char));
if(!s.base) exit(1);
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
}
int push(sqstack &s,char ch)
{
if(s.top-s.base>=s.stacksize)return -1;
*s.top++=ch;
return 0;
}
int pop(sqstack &s,char &ch)
{
if(s.top==s.base) return -1;
ch=*--s.top;
return 0;
}
int empty(sqstack &s)
{
return s.top==s.base?0:1;
}
int main()
{
printf("请输入您所要判断的字符串:\n");
int i,n=0;
char a[ARRAYSIZE],ch;
sqstack s;
Initstack(s);
for(i=0;(i<100)&&((a[i]=getchar())!='\n');++i);
for(n=0;n<i/2;++n)
{
push(s,a[n]);
}
for(n=i-i/2;n<i;++n)
{
pop(s,ch);
if(ch!=a[n])
break;
}
if(!empty(s))
printf("您所输入得字符串中心对称\n");
else
printf("您所输入得字符串中心不对称\n");
return 0;
}