日期:2014-05-18  浏览次数:20866 次

输出一个vigenere矩阵
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
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 a
c d e f g h i j k l m n o p q r s t u v w x y z a b
d e f g h i j k l m n o p q r s t u v w x y z a b c
e f g h i j k l m n o p q r s t u v w x y z a b c d
f g h i j k l m n o p q r s t u v w x y z a b c d e
g h i j k l m n o p q r s t u v w x y z a b c d e f
h i j k l m n o p q r s t u v w x y z a b c d e f g
i j k l m n o p q r s t u v w x y z a b c d e f g h
j k l m n o p q r s t u v w x y z a b c d e f g h i
k l m n o p q r s t u v w x y z a b c d e f g h i j
l m n o p q r s t u v w x y z a b c d e f g h i j k
m n o p q r s t u v w x y z a b c d e f g h i j k l
n o p q r s t u v w x y z a b c d e f g h i j k l m
o p q r s t u v w x y z a b c d e f g h i j k l m n
p q r s t u v w x y z a b c d e f g h i j k l m n o
q r s t u v w x y z a b c d e f g h i j k l m n o p
r s t u v w x y z a b c d e f g h i j k l m n o p r
s t u v w x y z a b c d e f g h i j k l m n o p r q
t u v w x y z a b c d e f g j i j k l m n o p q r s
u v w x y z a b c d e f g h i j k l m n o p q r s t
v w x y z a b c d e f g h i j k l m n o p q r s t u
w x y z a b c d e f g h i j k l m n o p q r s t u v
x y z a b c d e f g h i j k l m n o p q r s t u v w
y z a b c d e f g h i j k l m n o p q r s t u v w x
z 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

写了多时而不能,希望大虾们能帮个忙,不胜感激。

------解决方案--------------------
C# code
    class Program
    {
        static void Main(string[] args)
        {
            char[] letter = new char[26];
            for (int i = 0; i < 26; i++)
                letter[i] = (char)((int)'a' + i);
            for (int l = 0; l < 26; l++)
            {
                for (int i = 0; i < 26; i++)
                    Console.Write("{0} ", letter[(i + l) % 26]);
                Console.WriteLine();
            }
        }
    }

------解决方案--------------------
另一个写法:
C# code

        private static void Main()
        {
            char c ='a';
            
            for (int i=0;i<26;i++)
            {
                for (int j=0;j<26;j++)
                {
                    char x = (char)(c+i+j);
                    if (x > 'z') x = (char)(x - 26);
                    Console.Write((char)x);
                }
            
                Console.WriteLine();
            }
            
            Console.WriteLine();
        }