_

12级

2011-11-06 回答

#include

#include

#include

int IsPalindrome(const char *cScr);

void main(void)

{

char cStr[21];

while(1)

{

gets(cStr);

printf("%d\n",IsPalindrome(cStr));

}

}

int IsPalindrome(const char *cScr)

{

int iLen = strlen(cScr);

//预留数组首元素,栈顶从第二元素开始

int top = 1;

char *cMyStack = (char *)malloc( (iLen/2+1)*sizeof(char) );

//定位对原始数组的检测索引初始位置

cMyStack[0] = iLen/2;

if ( 1 == iLen%2 )

{

++cMyStack[0];

}

//将原始数组的一半元素入栈

for ( top=1; top<=iLen/2; top++ )

{

cMyStack[top] = *(cScr+top-1);

}

//从栈顶开始依次匹配

while ( *(cScr+cMyStack[0]) == cMyStack[--top] && cMyStack[0]++ < iLen ){}

if ( 0 == top )

{//是回文数

free(cMyStack);

return 1;

}

else

{//不是回文数

free(cMyStack);

return 0;

}

}

追问:

用的数组,这是顺序存储的栈吧?我要的是链栈

链栈判断回文 java_C语言链栈判断回文相关推荐

  1. java语言怎样判断文件夹_JAVA语言之如何判断文件,判断文件夹是否存在的代码...

    本文主要向大家介绍了JAVA语言之如何判断文件,判断文件夹是否存在的代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.判断文件是否存在,不存在则创建File file = ne ...

  2. 栈的删除函数c语言,顺序栈的插入和删除

    <顺序栈的插入和删除>由会员分享,可在线阅读,更多相关<顺序栈的插入和删除(5页珍藏版)>请在人人文库网上搜索. 1.实验四顺序栈的插入和删除姓名:学号: 日期:一.实验目的: ...

  3. 顺序栈十进制转八进制C语言,顺序栈实现十进制跟八进制之间的转换

    顺序栈实现十进制和八进制之间的转换 顺序栈实现十进制和八进制之间的转换 (1)首先实现栈的初始化,既申请固定大小的数组空间,存储数据,用到的方法是 int InitStack(  struct  sq ...

  4. c语言五子棋判断如何胜利,c语言 五子棋危险判断 求大神解释啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码 #include #define right 'r' #define lower 'l' #define lower_right 'i' #defi ...

  5. c语言中staloc是什么意思,C语言函数调用栈(三)

    6 调用栈实例分析 本节通过代码实例分析函数调用过程中栈帧的布局.形成和消亡. 6.1 栈帧的布局 示例代码如下: //StackReg.c #include //获取函数运行时寄存器%ebp和%es ...

  6. 停车场管理系统(C语言顺序栈+链栈+链队列)

    一.实验目的 1.根据停车场管理系统的要求,利用结构化程序设计方法以及C的编程思想来完成系统的设计,使用数据结构中的栈.队列进行分析: 2.按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用 ...

  7. 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...

    C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...

  8. 【C语言】简单判断字符串是否为回文

    **C语言简单判断字符串是否为回文**哈哈哈哈哈,作为一个刚学c语言不久的小白,今天来分享一下自己今天学到的一个判断字符串是否为回文的解决方法_(:з」∠)_小白用的编译器是Visual Studio ...

  9. 链栈的c语言实现方式,C语言链栈实现

    C语言实现链栈总结 最近用C语言实现链栈时遇到了问题,经过上网收索资料以及师兄的讲解顺利地解决了该问题,现就将所遇到的问题以及解决方法总结如下: 1.带有空余头结点的链栈代码实现如下: /****** ...

最新文章

  1. 独家|OpenCV 1.4 对图像的操作
  2. 边缘计算 — 与 AI
  3. java实现系统多级文件夹复制
  4. TCP/IP原理 (一)
  5. wxWidgets:wxStreamToTextRedirector类用法
  6. boost::coroutine2模块实现分段的stack的测试程序
  7. C#调用webservice(二)
  8. android权限申请Permission
  9. 监听input框值得改变
  10. geohash redis mysql_Redis geohash 地理位置存储
  11. HTML5期末大作业:我的家乡网站设计——可以根据百度百科更换家乡适用多数我的家乡
  12. 微信 商户号证书申请 微信支付系统部署
  13. 论初唐诗人的历史地位-上官仪、王勃、杨炯、陈子昂、杜审言
  14. At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo
  15. Au 效果器详解:自适应降噪
  16. 中年人的崩溃从浏览器崩溃开始
  17. 稳压二极管工作在什么区域?稳压二极管VRWM和VBR是什么?
  18. React Native学习速记
  19. Chapter 2 Constraint Satisfaction: An Emerging Paradigm
  20. 碎影录·番外·梦之章济南 by郝宗铎

热门文章

  1. XSpreadsheet-在线表格插件
  2. 分布式MySQL数据库中间件 mysqlda
  3. 轻量级的移动开发JavaScript框架-zepto.js
  4. Android Device Monitor 文件管理的常见问题
  5. 排除某个类_Spark Troubleshooting(故障排除)
  6. 一机三屏台式计算机,三屏系统重现江湖:背后一台完整主机
  7. 第二阶段冲刺之站立会议1
  8. java.sql.SQLException: Access denied for user 'Administrator'@'localhost' (using password: YES)
  9. 20161114课堂笔记
  10. forward/redirect跳转页面的区别