Description
给定多个字符串,内有数字字符和非数字字符(字符串中不含0,长度少于100),例如:A123x456。将其中连续的数字作为一个整数。统计每个字符串中有多少个整数并输出这些数。
Input
输入多行字符串(字符串长度不超过100,多组测试数据)
Output
每行为数的个数以及这些数,中间用“-”间隔,最后有换行。参见样例。
Sample Input
123x456d79
a5286?+1
Sample Output
3-123-456-79
2-5286-1
//字符串中取数
#include <stdio.h>
#include <string.h>
int main()
{
char s[105];
int b[105]= {0};
int word=0,num=0,len=0;
while(gets(s)>0)
{
len=strlen(s);
int c=0,t=0;
for(int j=0; j<len; j++)
{
if(s[j]>='0'&&s[j]<='9')
{
t=t*10+s[j]-'0';
}
else
{
if(t!=0)
{
b[c++]=t;
t=0;
}
}
}
if(t!=0)
{
b[c++]=t;
}
printf("%d",c);
for(int i=0; i<c; i++)
{
if(b[i]!=0)
{
printf("-%d",b[i]);
}
}
printf("\n");
num=0;
}
}