统计整数个数
【问题描述】输入一个字符串,其包括数字和非数字字符,如:a123x456 17935? 098tab,将其中连续的数字作为一个整数,依次存放到数组a中,统计共有多少个整数,并输出这些数。
【输入形式】数字和非数字字符的字符串
【输出形式】多行,第一行输出整数个数,后面每行输出一个整数
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[500];
char a[500];
cin.getline(str, 500);
int n = 0;
for (int i = 0; i <= 499; i++)
{
if ((str[i] >= 49 && str[i] <= 57) && (str[i - 1] < 49 || str[i - 1]>57))
{
n++;
}
}
cout << n << endl;
for (int i = 0; i <= 499; i++)
{
if (str[i] >= 49 && str[i] <= 57)
{
cout << str[i];
}
else if ((str[i - 1] >= 49 && str[i - 1] <= 57) && (str[i] < 49 || str[i]>57))
{
cout << endl;
}
}
}
【样例输入】a123x456 17935? 098tab583
注意需要保留带有空格的字符串,请不要使用gets,cin,练习使用cin.getline(char *str, int maxnum)
【样例输出】
5
123
456
17935
98
583
【样例说明】第一个输出项为整数的个数,后面的分别为具体的整数。注意,不需要输出提示类文字,如:“整数为”,“分别为”等字样。直接输出结果。有一个数字的也要输出。测试用例中没有超过整数范围连续数字。当遇到0开头的数字应舍去0。