回文单词 思路代码里有

判断回文单词
#include<stdio.h>
#include<stdlib.h>//内存管理库函数的头文件
#include<assert.h>
#define MAXLEN 80  //   符号常量,表示一行的字符数int pal(char *str)
{assert(str);char *left = str;char *right = str;//找到字符串末尾的字符while (*right != '\0'){right++;}right--;//循环结束的时候right指向的是'\0',自减去一指向前一个字符//开始逐个判断前后字符是否相等。依据的是回文单词的定义while (left < right){if (*left == *right){left++;right--;}else{break;}}return (left >= right);//如果是回文单词,单词字母为偶数的时候left>right,奇数的时候left==right,返回值为1。否则返回0
}
int main()
{char *str=NULL;//创建字符指针来指向字符串的首元素if ((str = (char*)malloc(MAXLEN)) == NULL)//作用是防止指针str是野指针(悬挂指针),使其有所指向{printf("Memory allocation error(内存分配空间错误)\n");exit(0);}//动态申请内存空间printf("请输入一个单词:");scanf("%s", str);do{int juge=pal(str);//函数pal判断传过去的字符串(单词)是否是回文单词,并返回0/1值if (juge){printf("%s 是回文单词\n", str);}elseprintf("%s 不是回文单词\n", str);printf("想要结束程序,请输入'#' \n");printf("请输入一个单词:");scanf("%s", str);} while (*str != '#');//与动态申请内存空间配套使用——主动释放内存空间——放置内存泄漏!free(str);//释放由指针str指向已分配的存储空间return 0;
}

回文句子 思路代码里面有

判断回文句子
回文句定义:一个句子按从前到后与从后到前的顺序读都相同(不计标点符号和空格),例如“a man, a plan, a canal, panama!” 是一个回文句。
思路:依据回文句的定义,我们只要能判断里面的字母是回文单词就好了——所以要将字符串里面字母提出来,进行回文单词运算就可以#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#define MAXLEN 300
void trim(char *str1, char *str2)
{while (*str1){if (*str1 >= 'a'&&*str1 <= 'z'){*str2 = *str1;str2++;}str1++;}str2 = '\0';//使得数组存的是字符串
}
int pal(char *str)
{assert(str);char *left = str;char *right = str;//找到字符串末尾的字符while (*right != '\0'){right++;}right--;//循环结束的时候right指向的是'\0',自减去一指向前一个字符//开始逐个判断前后字符是否相等。依据的是回文单词的定义while (left < right){if (*left == *right){left++;right--;}else{break;}}return (left >= right);//如果是回文单词,单词字母为偶数的时候left>right,奇数的时候left==right,返回值为1。否则返回0
}
int main()
{//创建字符指针char *str1 = NULL;//分配给str1指向的地址,注意str1分配空间后,指向的地址不能在变if ((str1 = (char *)malloc(MAXLEN)) == NULL){printf("Memory allocation error(储存空间分配错误)\n");exit(0);//结束程序}//字符串的输入printf("请输入一个句子:");gets(str1);//进行多次的回文句判断while (*str1 != '#'){//提出str1中的字母字符char str2[MAXLEN] = { 0 };//数组str2来接受提出的字母字符trim(str1, str2);//函数trim来实现,传值调用//判断对数组str2中的字符串是否是回文单词int juge = pal(str2);//输出if (juge){printf("%s是回文句\n", str1);}else{printf("%s不是回文句\n", str1);}printf("想要停止程序,请输入'#'\n");printf("请输入一个句子  或者  #:");gets(str1);}//配套:释放空间free(str1);return 0;
}

c语言指针的运用——回文单词与回文句子相关推荐

  1. c语言多组数据判断回文字符串,详解判断回文字符串跟回文数算法的C语言代码...

    详解判断回文字符串和回文数算法的C语言代码! 一.判断一个字符串是否为回文字符串 #include #include #include //包含strlen #define YES 1 #define ...

  2. 求字符串中的回文数或者是回文单词

    描述: 有一段以""结尾的字符串,该字符串中包括若个单词,单词之间由空格隔开,请求出这段字符串中所包含的回文单词,输出这些单词,中间用空格隔开. 输入: I AM SURE THE ...

  3. 回文数c语言 字符串,回文数与回文字符串的判断

    1.回文数字:判断一个数字是不是回文数.(回文数的特点是正反序是同一个数字,如:12321,3443). 2.回文字符串:判断一个字符串是不是回文字符串.(回文字符串特点是原字符串与字符串逆序之后一样 ...

  4. c语言编程判断输入的一个字符串是否是“回文”。所谓“回文”字符串就是左读和右读都一样的字符串。例如: “abcba“就是一个回文字符串。

    编程判断输入的一个字符串是否是"回文".所谓"回文"字符串就是左读和右读都一样的字符串.例如: "abcba"就是一个回文字符串. 要求:先 ...

  5. 【保姆级讲解】C语言---指针精华

    指针 1.1 内存地址的理解   计算机中的存储地址是以字节为单位的一片连续的存储空间,每一块空间都由自己唯一的一个地址编号(非负整数,从1开始自然增长),也叫字节编址.计算机中使用16进制来表示地址 ...

  6. 最热网友收藏:深入理解C语言指针的奥秘((2007年第3周)

    2007年第3周最热网友收藏 深入理解C语言指针的奥秘(93),共121人收藏,yanglilibaobao首先收藏 我来做个好人吧,40种网站设计常用技巧(78),共440人收藏,wuzeng200 ...

  7. c语言指针很危险,浅谈C语言中指针使用不当的危险性.doc

    浅谈C语言中指针使用不当的危险性.doc 第 19 卷 Vol . 19 第 2 期 No . 2 洛阳师专学报 Journal of Luoyang Teachers College 2000 年 ...

  8. 【嵌入式开发】C语言 指针数组 多维数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21402047 . 1. 地址算数运算示例 指针算数运算 ...

  9. 回文树或者回文自动机,及相关例题

    回文树简述 在大部分说法中,回文树与回文自动机指的是一个东西: 回文树是对一个字符串,基于自动机思想构建的处理回文问题的树形结构: 回文树是对着一个单串建立的: 于是他主要用于计数(回文子串种类及个数 ...

最新文章

  1. 婚纱摄影小程序能带来订单吗?小程序如何做营销?
  2. 计算机能力操作系统试题,全国计算机一级考试操作系统论述题及答案
  3. Python 将视频 截取 成图片 附cv2处理教程
  4. js实现撤销恢复_电脑硬盘丢失的资料怎么恢复?选对方法是关键
  5. php到岗第一天都做什么,十天学会php之第一天
  6. Linux中Redis操作命令
  7. 国庆促销海报模板素材
  8. USB大容量存储设备无法启动--这个设备(服务)的驱动程序已被禁用。另一个驱动程序可以提供这个功能。 (代码 32)
  9. 【Python打卡2019】20190421之52周存钱挑战
  10. PMP知识点总结—合同类型
  11. (附源码)springboot火车票订票系统 毕业设计 171538
  12. Python 爬虫监控女神的QQ空间新的说说,实现秒赞,并发送说说内容到你的邮箱
  13. Solr高级查询Facet
  14. AndroidStudio利用android-support-multidex解决65536问题64k问题
  15. 虚拟机中新增磁盘空间并开机自动挂载
  16. safari支持java_BLOB URL无法在Safari中使用
  17. python求二项式系数的几种方法及性能对比
  18. HTTP 头部字段 Access-Control-Allow-Origin
  19. unity Device Simulator的使用
  20. 辨别亦真亦假的Svchost.exe

热门文章

  1. java写一个文件浏览器_【Java】 实现一个简单文件浏览器(2)
  2. 【C++】基于socket的多线程聊天室(控制台版)
  3. (十九)jmeter3.0插件管理---学习笔记
  4. 合服 两个服务器都有什么作用,阴阳师合服是什么意思?合服合区问题汇总详解[多图]...
  5. 【信奥赛一本通】1253:抓住那头牛(详细代码)
  6. 版权和商标权有什么关系?版权和商标的区别在哪里?
  7. rpm 安装 忽略依赖_使用 RPM 安装软件包的常见问题
  8. 银河麒麟服务器操作系统(国防版),银河麒麟服务器操作系统V4
  9. iOS系统越狱研究现状梳理
  10. Ubuntu、Debian 系统安装 PHP 7.4 教程,超简单,一把梭!