练习:压缩字符串和逆序英文语句
- 压缩字符串
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;
}
练习:压缩字符串和逆序英文语句相关推荐
- java倒序输出英文句子_java逆序英文句子中的单词顺序
题目要求:给定n行的英文句子,要求输出句子中逆序单词后的句子,如: 输入:n=3 I love you How are you My name is Liming 输出: you love I you ...
- python判断字符串是否为回文if语句_如何python判断字符串是否为回文?
如何python判断字符串是否为回文? python判断字符串是否为回文的方法: 1.回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等). 2.如何 ...
- C++实现包含空格、标点、字符、数字的字符串的逆序输出,并且还可以实现一句语言中每个单词的倒序输出
简介:本C++代码能够实现任意输入的字符的逆序输出,代码的后半部分可以实现一句英文语句的单词的倒序输出. #include <iostream> #include <string&g ...
- 用C语言去判断一个字符串是否为回文字符串(简单明了)
C语言判断回文字符串呀 hello,小伙伴们.好久没写文章了,今天我们来写一下如何用C语言判断字符串是不是回文字符串呢. 大致思路:将字符串逆序赋给另一个字符串,然后比较这两个字符串是否相同.(其实也 ...
- 字符串压缩 java_如何在Java中压缩字符串?
如何在Java中压缩字符串? 我使用GZIPOutputStream或ZIPOutputStream压缩字符串(我的2222235278130938882小于20),但压缩结果比原始字符串长. 在某个 ...
- 判断字符串是否是回文
要求 编写程序,从键盘上输入一字符串,并判断是否形成回文(即正序和逆序一样,如"abcd dcba"."abcdedcba") 代码 #include<s ...
- C语言之判断字符串是否为回文
/*编写一个函数,判断字符串是否为回文.所谓回文指顺读和逆读都一样的字符串. 例如:"level","ABCCBA"*/ 顺读和逆读: 1.即数组第i个元素和第 ...
- c语言编程判断输入的一个字符串是否是“回文”。所谓“回文”字符串就是左读和右读都一样的字符串。例如: “abcba“就是一个回文字符串。
编程判断输入的一个字符串是否是"回文".所谓"回文"字符串就是左读和右读都一样的字符串.例如: "abcba"就是一个回文字符串. 要求:先 ...
- python判断字符串是否回文_判断字符串是否为回文 python
回文正序和逆序一样的字符串,例如abccba 方法一 def is_palindrome1(text): l = list(text) l.reverse() t1 = ''.join(l) if t ...
最新文章
- 这7个开源技术,支撑起整个互联网时代
- 坑爹的PHImageManager和PHImageRequestOptions
- 华为9.0系统机器一键激活xposed框架的流程
- Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用
- 记录下UIButton的图文妙用和子控件的优先显示
- (1) 基于tomcat7和jdk1.7的websocket启动
- JQuery中的基本筛选选择器
- 恒温控制系统单片机仿真c语言,基于51单片机的恒温控制系统
- 药师帮完成1.33亿美元D轮融资,投资方为老虎环球基金、H Capital和DCM...
- win10 查看系统运行时间
- Thinkphp企业级知宇自动发卡系统源码bug漏洞分析
- Vibe算法原理与实践(C++)
- 校园二手市场需求分析
- 快递100一面(Java)
- 怎样才能在网上卖东西,手把手教你闲鱼卖货!
- 图片公式提取至文档word
- 使用 eBPF 和 XDP 高速处理数据包
- SpringCloud 微服务开放平台接口
- 详述 MIMIC 数据库 26张数据表(二)之 五种字典表
- 可行性分析如何分析?