| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1289 人关注过本帖, 1 人收藏
标题:【笔试时遇到的一道题】
只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏(1)
已结贴  问题点数:20 回复次数:19 
【笔试时遇到的一道题】
今天陪同学去参加北京广联达的笔试,遇到了这样一道题,发给大家做做,就当是练练手了吧!

题目:
编写一个函数IsFloat,该函数的作用是判断一个字符串是否是浮点型数据(不考虑科学计数法)
如:“12.2541”是浮点数,“.012drde”不是浮点数
搜索更多相关主题的帖子: 北京 广联达 字符串 
2011-10-26 21:53
RunGame
Rank: 2
等 级:论坛游民
帖 子:20
专家分:48
注 册:2011-10-26
收藏
得分:0 
广联达?
2011-10-26 22:12
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
菜兄又看见你了
交上代码:
程序代码:
int IsFloat (char c[])
{
    int        i, j, len, flag = 1;

    len = strlen (c + 1);            //习惯于字符串从c[1]处开始
    j    = 0;
    for (i = 1; i <= len; i++)
    {
        if (c[i] == '.')
            if (j == 0)
                j = i;
            else
            {
                flag = 0;
                break;
            }
        if (c[i] != '.' && (c[i] < '0' || c[i] > '9'))
        {
            flag = 0;
            break;
        }
    }

    return flag;
}
如有错误,请指正

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-10-26 22:16
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 2楼 RunGame
呵呵,我是陪同学去的,广联达不太了解所以不敢瞎说啊!呵呵!不过这个题倒是可以做做啊,比较简单,就当是练练手啊!

愿用余生致力编程
2011-10-26 22:18
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 3楼 waterstar
看你写的还是挺简单的啊!呵呵!我当时写的代码有些长了啊!

程序代码:
bool IsFloat(const char *str)
{
    int i = 0, j = 0;

    while(str[i])
    {
        if(str[i] == '.')
        {
            j++;
            if(j > 1 || i+1 == strlen(str) || i == 0)
            {
                return false;
            }
            else
            {
                i++;
                continue;
            }
        }
        if(str[i] >= '0' && str[i] <= '9')
        {
            if(i == 0 && str[i] == '0' && str[i+1] != '.')
                return false;
            i++;
        }
        else
        {
            return false;
        }
    }
    return true;
}

愿用余生致力编程
2011-10-26 22:20
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 5楼 我菜119
你写的比我严谨,比如我的判断000.1是浮点数,而你的判断不是

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-10-26 22:26
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:10 
加两行代码就差不多了
程序代码:
int IsFloat (char c[])
{
    int        i, j, len, flag = 1;

    len = strlen (c + 1);
    j    = 0;

    if (c[1] == '0' && c[2] == '0')
    {
        flag = 0;
        return flag;
    }
    for (i = 1; i <= len; i++)
    {
        if (c[i] == '.')
            if (j == 0)
                j = i;
            else
            {
                flag = 0;
                break;
            }
        if (c[i] != '.' && (c[i] < '0' || c[i] > '9'))
        {
            flag = 0;
            break;
        }
    }

    return flag;
}


冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-10-26 22:29
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 6楼 waterstar
呵呵,题比较简单,当练练手了吧!最近怎么样呢?工作找的怎么样了呢?

愿用余生致力编程
2011-10-26 22:30
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:0 
回复 6楼 waterstar


[ 本帖最后由 绿茶盖儿 于 2011-10-26 22:42 编辑 ]
2011-10-26 22:40
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 8楼 我菜119
最近没去找工作,暂时是各种做题。
打算回家学完车再找工作,到时候要专心找。

你呢?有没有找到满意的?月薪没个9000+说不过去啊。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-10-27 23:03
快速回复:【笔试时遇到的一道题】
数据加载中...
 
   



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

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