标题:从字符串中提取数字
只看楼主
牧人马
Rank: 4
等 级:业余侠客
威 望:6
帖 子:49
专家分:229
注 册:2017-12-24
结帖率:33.33%
已结贴  问题点数:5 回复次数:3 
从字符串中提取数字
以下是自己写的程序,在Code::blocks运行没问题:
程序代码:
#include<stdio.h>
int main()
{
    char name[80];
    gets(name);
    int i;
    for(i=0;i<80;i++)
    {
        if(name[i]>47&&name[i]<58)
            printf("%c",name[i]);
    }
    printf("\n");
    return 0;
}
在oj上的运行结果总会多几个数字

有什么可以改进的地方或者是出现此类错误的原因吗?

搜索更多相关主题的帖子: 字符串 提取 数字 name printf 
2017-12-25 22:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:3 
改这句:
    //for(i=0;i<80;i++)
    for(i=0;name[i]&&i<80;i++)

2017-12-26 06:23
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
得分:3 
if((name[i]>='0')&&(name[i]<='9'))
2017-12-26 09:54
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
得分:0 
多数字是因为你弄了一个野数组
char name[80]={0}; 改成这样

2017-12-26 10:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483723-1-1.html




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

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