华图教育-第一公务员考试网

0851-5829568 华图贵州人事考试信息网
【导读】2007贵州公务员考试计算机专业考试真题 ,贵州华图整理,详情请见相关官方资料。

五、程序设计题(10)
有n个字符的字符串,判断字符串是否对称。如xyzzyx和xyzyx都是中心对称的字符串。字符串放在单链、表中,并实现利用栈的入栈和出栈完成判断。
#include”stdio.h”
#include”malloc.h”
#include”string.h”
#defingemax 100
{
Chardata;
Structnode*next;
}LinkList;
\*根据输入的字符(存储在字符数组中)建立一个单链表,newNode始终指向新的结点*\
LinkList*create(chars[])
{
LinkList*head,*newNode,*tail;
For(inti=0;s!=’\0’’;i++)
{
newNode=(LinkList*)①
newNodeadata=②
newNodean3ext=NULL;
\*i=-0表示只输入了一个字符*\
If(i==0)
{
head=newNode;
tail=head;
}
else
{taolanext=newNode;
tail=③
}
}
Returnhead;
}
\*定义栈的存储类型,栈指针是base和top*\
Typedefstruct
{
Char*base;
Char*top;
}stack;
voidInitStack(stack&&)
{
s.base=(char*)malloc(max*sizeof(char));
s.top=④;
}
voidpush(stack&s,chare)
{

}
Chartop(stack&s,char&e)
{

returne;
}
\*判断以单链表存储的字符串是否对称的函数*\
Intjukdge(LinkList*head)
{
Stacks;
Chare;
InitStack(s);
LinkList*p=heada;
While(p!=NULL)
{
⑦;
P=panext;
}
P=head;
While(padata==⑧)
P=panext;
Else
Break;
}
If(⑨)
Return1;
Else
teturn0;
}
Voidmain()
{
Charstr[max];
While(1)
{
printf(“\n\n请输入字符串:“);
gets(str);
switch(⑩)
{
Case1:
printf(“\n%\S是中心对称字符串\n”,str);
Break;
Case0:
prinft(“\n%S不是中心对称字符串\n”,str);
Break;

 

 

 

 

  更多内容请继续关注 贵州人事考试信息网 公务员考试 公务员考试网 公务员考试培训课程

  • 申论
  • 行测
  • 面试
  • 历年真题
  • 模拟试题
  • 时事热点
贵州人事考试信息网华图招聘