题目描述:
输入一个字符串,内含数字和非数字字符,如:
A123x456.17960?302t ab5876
将其中连续的数字作为一个整数,依次存放在一个整型数组中(假设数组名为a)。如上例所示,将123放在a[0]中,456放在a[1]中,17960放在a[2]中,........,同时统计整数的个数并输出相关的信息。
输入格式:
一行字符串(以回车结束),可含空格
输出格式:
输出数据分多行,每行一个数据。其中第一行是字符串中包含的整数个数,从第二行开始依次输出各个整数。
样例输入:
A123x456.17960?302t ab5876
样例输出:
5 123 456 17960 302 5876
提示:
学会将一个数字字符序列(数字字符串)转换成一个整数
如"456"-->456
字符串长度不超过100,每个整数在int范围内。
时间限制: 1000ms
空间限制: 12MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[1001];
cin.getline(a,1001);
int s=strlen(a),b=0,s1=0;
for(int i=0;i<s;i++){
if(a[i]>='0'&&a[i]<='9'){
continue;
}else{
if(a[i+1]>='0'&&a[i+1]<='9'){
s1++;
}
}
}
cout<<s1;
for(int i=0;i<s;i++){
if(a[i]>='0'&&a[i]<='9'){
cout<<a[i];
}else{
if(a[i+1]>='0'&&a[i+1]<='9'){
cout<<endl;
}
}
}
return 0;
}