文章
35
粉丝
599
获赞
6
访问
309.9k
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string a,b,c,d;
getline(cin,a);
int k=0,t=0;
for(int i=0;i<a.length();i++){
if(a[i]>='0'&&a[i]<='9'){
b[k++]=a[i];
}
else{
c[t++]=a[i];
}
}
for(int i=0;i<t;i++){//i<c.length()输出不了
cout<<c[i];
}
for(int i=0;i<k;i++){
cout<<b[i];
}
}
// d=c+b;
// //cout<<c<<b;
// for(int i=0;i<d.length();i++){
// cout<<d[i];
// }
// }
//sprintf(d,"%s%s",c,d);}
登录后发布评论
因为c.length()的值为0,虽然强行改变了string里面的值,但是length却不会随之改变。要么使用string的insert方法,要么改成char数组用strlen函数判断长度。