首页 软件代码

字符串统计整数个数


问题:输入一个字符串,内有数字和非数字字符,如a123x456-17960?302tab5876
将其中连续的数字作为一个整数,依次存入到b数组中,例如,123放到把b[0],456放到b[1]等等,统计共有多少个整数,并输出这些数。
答:

#include<iostream> 
using namespace std;
#define N 100
int main()
{
    char a[N]={'\0'};
    float b[50]={0};
    int i,x=0,y=0;
    gets(a);
    a[N-1]='\0';//防止超出字符个数 
    for(i=0,y=0;a[i]!='\0';i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
                b[y]=b[y]*10+(a[i]-48);
                x=1;
        }else if(x==1&&a[i+1]!='\0')
        {
            y++;
            x=0;
        }
    }
    cout<<"共有"<<y+1<<"个整数,分别是"<<'\n';
    for(i=0;i<=y;i++)
    {
    cout<<b[i]<<" ";
    }
}

运行结果:


a123x456-17960?302tab5876
共有5个整数,分别是
123 456 17960 302 5876




文章评论