练习:压缩字符串和逆序英文语句
生活随笔
收集整理的這篇文章主要介紹了
练习:压缩字符串和逆序英文语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
aaaabbbbcdefffffghhhh
壓縮成a4b4cdef4gh4
利用兩個指針來解決 一個進行遍歷一個進行替換。
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; }總結
以上是生活随笔為你收集整理的练习:压缩字符串和逆序英文语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联系人管理-客户拜访记录| CRM客户关
- 下一篇: 充电枪cp信号控制板_一种车载充电机检测