谭浩强C程序设计第三版习题10.16我的C++解答,错误以大堆,但不知道错在哪里,请教!!
我在VC++6.0和Dev-C++上都试过。代码如下:
(根据二楼兄弟的提示,做了部分修改,但问题依然存在)
程序代码:
#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; }
[ 本帖最后由 陈小草 于 2009-10-27 22:39 编辑 ]