1. 压缩字符串
    aaaabbbbcdefffffghhhh
    压缩成a4b4cdef4gh4
// 压缩字符串
// aaaabbbbcdefffffghhhh
// a4b4cdef4gh4
#include <stdio.h>
void yasuo();
void yasuo(char *pStr)
{int len=0;if(pStr==NULL)return ;char *p1=pStr;//char *p2=pStr;while(*p1++){len++;}int i,j;p1=pStr;char *p2=pStr;for(i=0,j=0;i<len;i++){int count=1;while(p1[i]==p1[i+1]){count++;i++;}if(count>1){p2[j++]=p1[i];p2[j]=count+'0';//将count转换成字符j++;}else {p2[j]=p1[i];j++;}}p2[j]='\0';int len2=0;printf("%s\n",p2);}
int main()
{char str1[]="aaaabbbcddddeffeeegghjjjj";yasuo(str1);return 0;
}

利用两个指针来解决 一个进行遍历一个进行替换。
2: 单词逆序
You are from shanghai
shanghai from are You

实质是先将所有元素逆序再对单个单词进行逆序,关键在于用指针记录判断边界值,注意使用逆序函数的开始和结束位。

#include <stdio.h>
int strLen();
int strLen(char *pStr)
{if(pStr == NULL)return -1;int len=0;while(*(pStr++)){ len++;}return len;
}
void reverse();
void reverse(char *pStr,int k,int e)
{int tmp;//int left=0;//int right=strLen(pStr)-1;while(k<e){tmp=pStr[k];pStr[k]=pStr[e];pStr[e]=tmp;k++;e--;}}
void reEnglish();
void reEnglish(char *pStr)
{if(pStr == NULL)return ;char *p1=pStr;int len = strLen(pStr);reverse(p1,0,len-1);char *p2=p1;//char *p3=p2;int kai=0;int jie=0;int i;for(i=0;i<len;i++){if(p2[i]!=' '){jie++;}else{jie++;reverse(p2,kai,jie-2);printf("p2=====%s\n",p2);kai=jie;}}reverse(p2,kai,jie-1);printf("p2=====%s\n",p2);pStr=p2;}
int main()
{char str[100]="I am from shanghai";int len = strLen(str);//printf("len =%d\n",len);//reverse(str);printf("%s\n",str);//reverse(str,0,len-1);//printf("%s\n",str);reEnglish(str);printf("%s\n",str);return 0;
}

练习:压缩字符串和逆序英文语句相关推荐

  1. java倒序输出英文句子_java逆序英文句子中的单词顺序

    题目要求:给定n行的英文句子,要求输出句子中逆序单词后的句子,如: 输入:n=3 I love you How are you My name is Liming 输出: you love I you ...

  2. python判断字符串是否为回文if语句_如何python判断字符串是否为回文?

    如何python判断字符串是否为回文? python判断字符串是否为回文的方法: 1.回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等). 2.如何 ...

  3. C++实现包含空格、标点、字符、数字的字符串的逆序输出,并且还可以实现一句语言中每个单词的倒序输出

    简介:本C++代码能够实现任意输入的字符的逆序输出,代码的后半部分可以实现一句英文语句的单词的倒序输出. #include <iostream> #include <string&g ...

  4. 用C语言去判断一个字符串是否为回文字符串(简单明了)

    C语言判断回文字符串呀 hello,小伙伴们.好久没写文章了,今天我们来写一下如何用C语言判断字符串是不是回文字符串呢. 大致思路:将字符串逆序赋给另一个字符串,然后比较这两个字符串是否相同.(其实也 ...

  5. 字符串压缩 java_如何在Java中压缩字符串?

    如何在Java中压缩字符串? 我使用GZIPOutputStream或ZIPOutputStream压缩字符串(我的2222235278130938882小于20),但压缩结果比原始字符串长. 在某个 ...

  6. 判断字符串是否是回文

    要求 编写程序,从键盘上输入一字符串,并判断是否形成回文(即正序和逆序一样,如"abcd dcba"."abcdedcba") 代码 #include<s ...

  7. C语言之判断字符串是否为回文

    /*编写一个函数,判断字符串是否为回文.所谓回文指顺读和逆读都一样的字符串. 例如:"level","ABCCBA"*/ 顺读和逆读: 1.即数组第i个元素和第 ...

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

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

  9. python判断字符串是否回文_判断字符串是否为回文 python

    回文正序和逆序一样的字符串,例如abccba 方法一 def is_palindrome1(text): l = list(text) l.reverse() t1 = ''.join(l) if t ...

最新文章

  1. 这7个开源技术,支撑起整个互联网时代
  2. 坑爹的PHImageManager和PHImageRequestOptions
  3. 华为9.0系统机器一键激活xposed框架的流程
  4. Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用
  5. 记录下UIButton的图文妙用和子控件的优先显示
  6. (1) 基于tomcat7和jdk1.7的websocket启动
  7. JQuery中的基本筛选选择器
  8. 恒温控制系统单片机仿真c语言,基于51单片机的恒温控制系统
  9. 药师帮完成1.33亿美元D轮融资,投资方为老虎环球基金、H Capital和DCM...
  10. win10 查看系统运行时间
  11. Thinkphp企业级知宇自动发卡系统源码bug漏洞分析
  12. Vibe算法原理与实践(C++)
  13. 校园二手市场需求分析
  14. 快递100一面(Java)
  15. 怎样才能在网上卖东西,手把手教你闲鱼卖货!
  16. 图片公式提取至文档word
  17. 使用 eBPF 和 XDP 高速处理数据包
  18. SpringCloud 微服务开放平台接口
  19. 详述 MIMIC 数据库 26张数据表(二)之 五种字典表
  20. 可行性分析如何分析?

热门文章

  1. 如何爬取今日头条图片
  2. 树莓派通过继电器控制水泵
  3. 视频质量和大小、分辨率200*200、码率kb/s、帧率FPS、带宽、码流、人数
  4. 日常开发中我常用的软件
  5. 六、物理中的张量问题
  6. 2022 SDCon 全球软件研发技术大会,19大技术主题破企业之寒
  7. 常用Debug模式下的打印DLog
  8. EXCEL规范数据输入教程-验证身份证号
  9. win10某些软件图标显示过小解决方法
  10. java Compiler API (java编译api)