| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 660 人关注过本帖
标题:谭浩强C程序设计第三版习题10.16我的C++解答,错误以大堆,但不知道错在哪里 ...
只看楼主 加入收藏
陈小草
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2009-10-27
收藏
 问题点数:0 回复次数:4 
谭浩强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 编辑 ]
搜索更多相关主题的帖子: 谭浩强 程序设计 习题 解答 
2009-10-27 20:36
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:0 
int main()
{
    string str;
    int lenstr=0,integer[N],nint=0,j=0;
    cout<<"输入一个乱序的字符串"<<endl;
    cin>>str;
    lenstr=strlen(str);   //应该用str.length()
    for(int i=0,flagint=0;i<lenstr;i++)
    {
        if(*(str+i)>='0'&&*(str+i)<='9')    flagint++;  //*(str+i)用str[i]
            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 20:45
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
收藏
得分:0 
大哥这程序你直接复制的吧!
那个是输入法问题!你把大括号之类的全部替换一下,绝对错不了!!

编程语言视频教程在线播放学习
2009-10-27 22:31
陈小草
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2009-10-27
收藏
得分:0 
致二楼:看来C语言学号了再去学c++还是有点不方便
致三楼:用了中文大括号,编译器肯定会提示!!!
2009-10-27 22:37
大罗
Rank: 1
来 自:江西省上饶市
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-10-13
收藏
得分:0 
#include<string.h>
多了个这个
还有把#include<math.h>
改成#include<cmath>
cout<<“字符串:”<<str<<endl;
那个双引号改成英文的双引号
cout<<"字符串:"<<str<<endl;
我运行了
其他的地方
没有问题
2009-10-27 23:10
快速回复:谭浩强C程序设计第三版习题10.16我的C++解答,错误以大堆,但不知道错 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027933 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved