找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 528|回复: 1

提取不重复的整数

[复制链接]

14

主题

65

回帖

0

积分

新手上路

积分
0
发表于 2013-7-1 23:17:06 | 显示全部楼层 |阅读模式
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
例如:long GetConvertInt(long iInput)
输入:9876673
输出:37689

205

主题

173

回帖

6925

积分

论坛元老

积分
6925
发表于 2013-7-2 19:50:18 | 显示全部楼层
好久没来做题了,呵呵

long GetConvertInt(long iInput)
{
    char szInput[64] = {0};
    char szOutput[10] = {0};//储存0~9  这10个数字
    size_t len = 0;            //计算转换成字符串后的长度
    size_t i;
    long result = 0;        //返回结果

    /*反转为整型字符串*/
    while(iInput)
    {
        szInput[len++] = iInput % 10 ;
        iInput /= 10;
    }
    /*去除重复数字*/
    for(i=0; i< len; i++)
    {
        int j;
        j = szInput[j] ;
        /*如果对应位置上没有出现过此数字
          则把它追加到result中
          接着把该位置置为1
          */
        if(szOutput[j] != 1)
        {
            result = 10*result + j;
            szOutput[j] = 1;
        }
    }
    return result;
}



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 15:27 , Processed in 0.220470 second(s), 20 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表