题解 | #提取不重复的整数#

提取不重复的整数

http://www.nowcoder.com/questionTerminal/253986e66d114d378ae8de2e6c4577c1

提取不重复的整数C语言解法。

1.先通过求余算出获得输入数据的位数。
2.然后通过位数将数据的每一位拆出来。
3.将数据逆序。
4.将数据去重。
前两步显得有点笨重,但是易于理解。

#include<stdio.h>


int num,bit;
int i,j,k;
int extra;
int reg[20],asb;
int flag = 0;
int main()
{

    scanf("%d\n",&num);//输入整型数

    //获得数量级
    for(bit = 1; extra < num ;bit = bit*10)
    {
        extra = num%bit;//求余得除数
    }
    bit = bit/100;
        //;

    //将数据按位拆开
    for(i= 0;bit >= 1;bit = bit/10,i++)
    {
        reg[i] = num/bit;        
        num = num - bit*reg[i];
        flag++;
    }



     //逆序
   int  pau = flag-1;

    for(i = 0;i<flag/2;i++,pau--)
    {
        asb = reg[i];
        reg[i] = reg[pau];
        reg[pau] = asb;
    }

    //去重
      for(i = 0 ;i < flag ;i++)
      {
          for(j = i+1;j<flag;j++)
          {
              if(reg[i]==reg[j])
              {
                  for(k=j;k<flag;k++)
                  {
                      reg[k]=reg[k+1];
                  }

              j--;
              flag--;
              }
          }

      }


        for(j=0;j<flag;j++)
    {
        printf("%d",reg[j]);

    }






}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-24 20:25
腾讯今年实习招了这么多人,后面秋招还会招人吗??想着秋招再战来着
牛客965593684号:腾讯好像2020年之后就是实习生招得多,应届生基本上不招,纯实习转正
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-25 17:22
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务