| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1015 人关注过本帖
标题:求助!!新手帮看一下代码,看看哪里有问题。。
取消只看楼主 加入收藏
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
求助!!新手帮看一下代码,看看哪里有问题。。
实现函数,传入字符串,将字符串中的数字提取出来,求数字的和。
 传入:"abc123def45gh678"
 返回:846(123+45+678):
代码:
#include <stdio.h>
int sumOfNumbersInString(const char * str);
int main(int argc, const char * argv[])
{
    char a[100];
    fgets(a, sizeof(a), stdin);
    printf("%d", sumOfNumbersInString(a));
    printf("\n");
   
}

int sumOfNumbersInString(const char * str)
{
    int sum = 0;
    int i = 0, j = 0;
    for (; str[i] != 0; i++)
    {
        int m = 0;
        if (str[i] >= '0' && str[i] <= '9')
        {
            for (; str[j] != 0; j++)

            {
                if (str[i+j] < '0' && str[i+j] > '9' )
                {
                    for (int k = i; k < i+j; k++)
                    {
                        int n = str[k] - '0';
                        m = m*10 + n;
                    }
                    break;
                }
            }
        }
        i = j;

        sum += m;
    }
    return sum;
}
搜索更多相关主题的帖子: include 字符串 
2015-07-11 19:40
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 2楼 tlliqi
不好意思,周末有点忙。
思路是先找第一个数字,然后再找到不是数字的地方,把这几个字符提出来处理。
但是 if (str[i+j] < '0' && str[i+j] > '9' )
这个条件就是进不去不知为何?
2015-07-12 17:27
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
其实这个题,又简单的方法,我就是想看一下我的这个思路哪儿有问题。
2015-07-12 17:28
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 5楼 yajuie
我就是在 if (str[i+j] < '0' && str[i+j] > '9' )
这个条件进不去,不知为何?
2015-07-12 17:30
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 4楼 yajuie
for (; str[i] != 0; i++)
这儿不会吧,就是遍历数组,直到最后‘\0’。
2015-07-12 17:31
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 6楼 T_MACC
先遍历数组,在第一个条件if (str[i] >= '0' && str[i] <= '9')
找到数字字符,然后第二次遍历数组,在条件if (str[i] < '0' && str[i] > '9')
找到数字字符结束的地方,然后提取这段每个数字字符处理。
2015-07-12 17:39
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 12楼 jklqwe111
好像是这儿问题,谢谢!!
2015-07-13 15:23
fire小宇宙
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 16楼 rjsp
这个666,非常感谢!
2015-07-13 20:26
快速回复:求助!!新手帮看一下代码,看看哪里有问题。。
数据加载中...
 
   



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

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