设计算法来统计一个输入字符串中所包含的整数个数,并输出这些数

假设输入的字符串既有数字又有非数字字符,例如ak123x456 17960? 302gef4563其中连续数字作为一个整体看成整数,例如其中的123 / 456等

#include<iostream>
using namespace std;
int main(){
    int a[30]={0};
    char str[200];
    cout<<"请输入一个含有数字的字符串\n"<<endl;
    cin>>str;
    bool flag=0;
    int i=0,j=0;
    int s=0;
    int num=strlen(str);
    cout<<"\n你一共输入了:"<<num<<"个字符"<<endl;
    for(i=0;i<num;){
        while(str[i]>='0' && str[i]<='9' &&i<num ){
            s=s*10+int(str[i])-int('0');
            i++;
            flag=1;
        }
        if(flag==1){
            a[j++]=s;
            s=0;
            flag=0;
        }
        i++;
    }
    i=0;
    cout<<"\n其中共"<<j<<"个数字\n"<<endl;
    while(i<j){
        cout<<a[i]<<endl;
        i++;
    }
    cout<<endl;
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答