| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 510 人关注过本帖
标题:一道字符串问题求助
只看楼主 加入收藏
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
结帖率:73.33%
收藏
已结贴  问题点数:20 回复次数:6 
一道字符串问题求助
输入字符串aasjkhjka123wkedklw57658.2nvjfs-3782.83
输出所有数字相加,包括小数点和负号,相邻数字算是一起的,求解。。。。。。
搜索更多相关主题的帖子: 字符串 小数点 
2011-05-05 22:33
ucyan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:61
专家分:198
注 册:2011-4-12
收藏
得分:5 
通过判断得出字符串中为数字的放入一个数组中,最后把数组的元素相加输出
2011-05-05 22:42
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
回复 2楼 ucyan
关键是小数也要输出啊,还有符号,像123是一百二十三啊,比简单的输出要复杂很多
2011-05-05 22:54
ucyan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:61
专家分:198
注 册:2011-4-12
收藏
得分:0 
的确很麻烦~~我想我这个方法是错的,我记得论坛里曾经有人问过这个问题,好像有人给出了方法的,不过我忘记了
2011-05-06 13:01
guoqingchun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:68
注 册:2008-6-19
收藏
得分:5 
很复杂
2011-05-06 15:51
kyzrong
Rank: 2
等 级:论坛游民
帖 子:7
专家分:19
注 册:2010-9-20
收藏
得分:5 
2楼正解。
现实方法也不难!
2011-05-07 01:08
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
收藏
得分:5 
写了一个,可能有bug,本机测试几组数据正确,自己调试。
程序代码:
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    int i,t,lgth,flgfloat=0,flgsign=0;
    double data=0,sum=0;
    char str[100]="\0";
    scanf("%s",str);
    lgth=(int)strlen(str);
    for(i=0;i<=lgth;i++)
    {
        if(str[i]=='-')
            flgsign=-1;
        else if(str[i]=='.')
             flgfloat=1;    //flgfloat:若为0,则此数为整数,若为1,则处理的是小数点后面第一个数子,若为2,处理其余数字
        else if(str[i]>='0' && str[i]<='9')
        {
            if(flgfloat==0)
                data=data*10+str[i]-'0';
            else if(flgfloat==1)
            {
                t=1;
                data=data+(str[i]-'0')*(1.0/(pow(10,t)));
                flgfloat=2;
            }
            else if(flgfloat==2)
            {
                t++;
                data=data+(str[i]-'0')*(1.0/(pow(10,t)));
            }
        }
        else
        {
            if(flgsign==-1)sum=sum-data;
            else sum=sum+data;
            data=0;
            flgsign=0; flgfloat=0; t=0;
        }
    }
    printf("%f\n",sum);
    return 0;
}

 

********多贴代码,少说空话*******
2011-05-07 23:21
快速回复:一道字符串问题求助
数据加载中...
 
   



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

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