吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2890|回复: 4
收起左侧

[其他转载] 请大家给个思路,实在想不出了

 关闭 [复制链接]
神鸟 发表于 2012-8-8 21:44
a
……
z
aa
……
az
ba
……
bz
ca
……
zz
……
aaa
效果如图
用代码如何实现

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

执着的最后 发表于 2012-8-8 21:49
撸猪发问题贴小心点 别被扣分了

点评

那怎么办啊,不是求破啊,是编程的问题卅  发表于 2012-8-8 21:52
liuyongliang 发表于 2012-8-8 21:50
kuwo911 发表于 2012-8-8 21:51
楼主要用啥语言得到啊,要说明一下下嘀

点评

Java  发表于 2012-8-8 21:56
索马里的海贼 发表于 2012-8-8 21:52
class Program
    {
        private static char[] arr = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            while (input.Length > 0)
            {
                input = input.ToUpper();
                Console.WriteLine(NextLetter(input));
                input = Console.ReadLine();
            }
        }
        private static string NextLetter(string input)
        {
            char[] arr_input = input.ToCharArray();  // 将输入字符转成字符数组
            // 保存结果的数组,考虑产生进位的情况,长度+1
            // 结果数组保存的不是字符,是保存字符的索引号
            int[] arr_index = new int[arr_input.Length + 1];  
            // 初始化结果数组
     for (int i = 0; i < arr_index.Length; i++)
            {
                arr_index[i] = -1;
            }
            // 第一步:先将输入字符数组转化成字符索引号保存到结果数组
            int j = 0;
            for (int i = arr_input.Length - 1; i >= 0; i--)
            {
                arr_index[j] = LetterIndex(arr_input[i]);
                j++;
            }
  
     // 对结果数组进行+1操作, 采用26进制, +1操作后的结果数组就是 后续编号 对应的索引号
            j = 0;
            arr_index[j] = arr_index[j] + 1;
            while (arr_index[j] % 26 == 0 && j < arr_input.Length)
            {
                arr_index[j] = arr_index[j] % 26;
                j++;
                if (arr_index[j-1] == 0)
                    arr_index[j] = arr_index[j] + 1;
            }
     // 将字符索引号转化成对应的字符返回
            string next = "";
            for (int i = arr_index.Length - 1; i >= 0; i--)
            {
                if (arr_index[i] >= 0)
                    next += arr[arr_index[i]].ToString();
            }
            return next;
        }
        private static int LetterIndex(char letter)
        {
            int index = 0;
            for (index = 0; index < arr.Length; index++)
            {
                if (letter == arr[index])
                    break;
            }
            return index;
        }
    }
百度的

点评

C#的?  发表于 2012-8-8 22:00
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 15:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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