![]() |
#2
flyingcloude2009-10-27 20:45
|
代码如下:
(根据二楼兄弟的提示,做了部分修改,但问题依然存在)

#include<iostream>
#include<string>
#include<math.h>
#include<string.h>
#define N 20
using namespace std;
int main()
{
string str;
int lenstr=0,integer[N],nint=0,j=0;
cout<<"输入一个乱序的字符串"<<endl;
cin>>str;
lenstr=str.length();
for(int i=0,flagint=0;i<lenstr;i++)
{
if(str[i]>='0'&&str[i]<='9') flagint++;
else flagint=0;
if( flagint>1&& ( !(str[i]>='0'&&str[i]<='9') ||str[i+1]!='\0') )
{
int tempint=0;
for(int k=0;k<flagint;k++)
tempint+= (str[i-k]-'0') * pow(10,k);
integer[j++]=tempint;
}
}
cout<<“字符串:”<<str<<endl;
cout<<"一共有"<<j<<"个连续数字"<<'\n';
for(int i=0;i<j;i++)
cout<<integer[i]<<'\t';
cout<<endl;
return 0;
}
#include<string>
#include<math.h>
#include<string.h>
#define N 20
using namespace std;
int main()
{
string str;
int lenstr=0,integer[N],nint=0,j=0;
cout<<"输入一个乱序的字符串"<<endl;
cin>>str;
lenstr=str.length();
for(int i=0,flagint=0;i<lenstr;i++)
{
if(str[i]>='0'&&str[i]<='9') flagint++;
else flagint=0;
if( flagint>1&& ( !(str[i]>='0'&&str[i]<='9') ||str[i+1]!='\0') )
{
int tempint=0;
for(int k=0;k<flagint;k++)
tempint+= (str[i-k]-'0') * pow(10,k);
integer[j++]=tempint;
}
}
cout<<“字符串:”<<str<<endl;
cout<<"一共有"<<j<<"个连续数字"<<'\n';
for(int i=0;i<j;i++)
cout<<integer[i]<<'\t';
cout<<endl;
return 0;
}
[ 本帖最后由 陈小草 于 2009-10-27 22:39 编辑 ]