输入一个字符串,取出其中的整数(实现代码)
作者:
输入一个字符串,内含所有数字和非数字字符。将其中连续的数字作为一个整数,依次存放到一个数组中,统计共有多少个整数,并输出这些数
题目:输入一个字符串,内含所有数字和非数字字符。将其中连续的数字作为一个整数,依次存放到一个数组中,统计共有多少个整数,并输出这些数。
#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;
}
复制代码 代码如下:
#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;
}