/*
删除字符串中的数字并压缩字符串。如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。
//*/
#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
void swap_ic(char& a, char& b){
char t = a;
a = b;
b = t;
}
int main()
{
char ichar[] = "abc123de4fg56";
int sz = sizeof(ichar);
cout << "ichar: " << ichar << "\nichar size: " << sz << endl;
int pc = 0;
int pi = 0;
while((pi < sz - 2) && (pc < sz - 2)){
while(!(ichar[pi] >= '0' && ichar[pi] <= '9')){++pi;}
if(pi+1 < sz - 2){
if(pc > pi){
pc = pc + 1;
}else{
pc = pi + 1;
}
}else{
break;
}
while(ichar[pc] >= '0' && ichar[pc] <= '9'){++pc;}
if(ichar[pc] != '\0' && pc < sz -2){
swap_ic(ichar[pi],ichar[pc]);
}else{
ichar[pi] = '\0';
break;
}
}
sz = sizeof(ichar);
cout << "finally ichar: " << ichar << "\nichar size: " << sz << endl;
return 0;
}
删除字符串中的数字并压缩字符串
最新推荐文章于 2020-07-19 00:57:30 发布