提取数字:输入一个字符串,长度不超过30,内有数字字符和非数字字符,请找出字符串中所有由连续数字字符组成的正整数,并按出现顺序输出。
样例输入:
a123*456U17960?302tab5876
样例输出:
123
456
17960
302
5876
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
getline(cin,a);
for(int i = 0;i < a.size();i++){
string c;
while(a[i] >= '0' && a[i] <= '9'){
c += a[i];
i++;
}
if(c != ""){
for(int j = 0,k = 0;j <= c.size();j++){
if(k != 0) cout << c[j];
else if(c[j] != '0'){
k = 1;
cout << c[j];
}
}
cout << endl;
}
}
return 0;
}
代码一直WA,找不到原因,题目给的样例自己做的样例都跑过了,求dalao解。