(HW OJ)提取不重复的整数,输入9876673,输出37689

/*
功能:

输入:需要统计的长整型

输出:
     
返回:没有重复数字的整型
*/

long GetConvertInt( long iInput ) //long : long int
{
    long result = 0;
    int fuhao = 1;//1表示整数,-1表示负数
    int ary[50] = {0};
    int len_iIn = 0,i = 0;
    int j = 0;

    if(0 == iInput)
        return 0;

    if(iInput >= 0)
        fuhao = 1;
    else
    {
        fuhao = -1;
        iInput = fuhao * iInput;
    }

    while(iInput != 0)
    {
      ary[len_iIn] =  iInput % 10;
      iInput = iInput/10;
      len_iIn++;
    }//注意:此时iInput = 0
    
    //p = (int*)malloc(len_iIn * sizeof(int));

    for(i = 0;i<len_iIn-1;i++)
    {
        for(j = i+1;j<len_iIn;j++)
        {
            if (ary[i] == ary[j])
            {
                ary[j] = 0x55;
            }
        }
    }
    
    for(i = 0; i<len_iIn ;i++)
    { 
        if(ary[i] != 0x55)
        {
           result = result*10 + ary[i];
        }
    }

    if(fuhao == 1)
        return result;
    else if(fuhao == -1)
            return result*(-1);
    
}

猜你喜欢

转载自blog.csdn.net/yuhoujiangnan2011/article/details/82558081