programer010 发表于 2008-12-29 11:11:54

写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)

写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)。


int findMax (int a) {

}

[ 本帖最后由 programer010 于 2008-12-29 22:07 编辑 ]

lanbiers 发表于 2008-12-29 14:36:33

java or c or other ?

programer010 发表于 2008-12-29 22:08:29

c

C or java is available

programer010 发表于 2008-12-30 17:05:14

难道这里没人会?不能吧

云层 发表于 2008-12-31 10:29:47

写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)。

最大数字是8,倒数第二个就是第三个位置?
你算一下整数的长度,然后分成一个数组,然后做个大小比较就行了啊。。

maguschen 发表于 2008-12-31 16:22:31

一个C#的实现,思想跟LS一样。输入1208,返回1;输入9857,返回4。

      public static int GetMaxDigit(int input)
      {
            string temp = input.ToString();
            char flag = '0';
            int digit = 0;
            for (int i = 0; i < temp.Length; i++)
            {
                if (flag < temp)
                {
                  flag = temp;
                  digit = i;
                }
            }
            return temp.Length - digit;
      }

不知道LZ有没有考虑过以下问题:如果输入全部是9999,你希望返回什么?如果输入是9191,你希望从左到右,还是从右到左?

tye001 发表于 2009-1-15 11:16:19

LS考虑的很周到,这个在测试的时候就可以发现出问题了
页: [1]
查看完整版本: 写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)