站外题求助
  • 板块学术版
  • 楼主CooooldWind_
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/4/3 17:00
  • 上次更新2023/10/23 19:32:54
查看原帖
站外题求助
747369
CooooldWind_楼主2023/4/3 17:00

提取数字:输入一个字符串,长度不超过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解。

2023/4/3 17:00
加载中...