輸入一個字符串,取出其中的整數(shù)(實現(xiàn)代碼)
更新時間:2013年09月02日 09:29:09 作者:
輸入一個字符串,內(nèi)含所有數(shù)字和非數(shù)字字符。將其中連續(xù)的數(shù)字作為一個整數(shù),依次存放到一個數(shù)組中,統(tǒng)計共有多少個整數(shù),并輸出這些數(shù)
題目:輸入一個字符串,內(nèi)含所有數(shù)字和非數(shù)字字符。將其中連續(xù)的數(shù)字作為一個整數(shù),依次存放到一個數(shù)組中,統(tǒng)計共有多少個整數(shù),并輸出這些數(shù)。
#include<iostream>
using namespace std;
int main(){
int a[30]={0};
char str[200];
cout<<"請輸入一個含有數(shù)字的字符串\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<<"個數(shù)字\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<<"請輸入一個含有數(shù)字的字符串\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<<"個數(shù)字\n"<<endl;
while(i<j){
cout<<a[i]<<endl;
i++;
}
cout<<endl;
return 0;
}
相關(guān)文章
C++11?std::transform函數(shù)使用小結(jié)
std::transform是C++標準庫中的一個算法,它用于對輸入范圍內(nèi)的元素進行操作,并將結(jié)果存儲在輸出范圍內(nèi),本文就介紹了std::transform函數(shù)的具體使用,感興趣的可以了解一下2023-09-09