C#面试题

来源:互联网 发布:电脑文件恢复软件 编辑:程序博客网 时间:2024/06/17 08:43

       今天去参加了我人生第一次软件岗位工作面试。由于我是自学所以理论基础差,和面试人员聊,聊得也不算好,但是自己报的期望低,所以开始就没算黄,最后是一道笔试题。本来信心满满的,但是因为上手写,且只给十分钟,所以自己做错了。

      题目是写一个金字塔数,输入一个数字后,输出它的金字塔数,对许多科班出生或者学习较好的肯定不是问题,但是我当时没做好,面试过后我知道自己黄了,但是还是把题做了。现在写出来,保留下一份记忆。

题目:

      输入数字:5

                1

             1 2 1

           1 2 3 2 1

         1 2 3 4 3 21 

这是我写的程序:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入您需要的金字塔数字:");
            int number = 0;
            number = Convert.ToInt32(Console.ReadLine());


            for (int i = 1; i <= number; i++)
            {
                Fuction (Data(i,number));
            }




            Console.WriteLine("-----------------------------");
            FC(number);
            Console.ReadKey();
        }

//输入数直接进行运算
        public static void FC(int number)
        {
            for (int i = 1; i <=number; i++)
            {
                for (int j = 1; j <2* number; j++)
                {
                    if (j <=number - i )
                    {
                        Console.Write(" ");
                    }
                    if (number -i < j && j <=number)
                    {
                        Console.Write(i+j-number);
                    }
                    if (j > number + i)
                    {
                        Console.Write(" ");
                    }
                    if(number<j&&j<number+i)
                    {
                        Console.Write(number -j+i);
                    }
                }
                Console.WriteLine();
            }
            
        }
//数组来处理
        public static string[] Data(int a, int number)
        {
            string[] str = new string[2*number-1];
            for (int i = 0; i <2*number-1; i++)
            {
                if (i<number-a)
                {
                    str[i] =" ";
                }
                if (i > number + a - 1)
                {
                    str[i] = " ";
                }
                if ( number - a<=i && i < number)
                {
                    str[i] = (i+ a - number+1).ToString();
                }
                if(number<=i && i< number + a-1)
                {
                    
                    str[i] = (number +a - i - 1).ToString();
                }
            }
            return str;
        }
        public static void Fuction(string[] data)
        {
            for (int i = 0; i < data.Length; i++)
            {
                Console.Write(data[i]);
            }
            Console.WriteLine();
        }
    }

0 0
原创粉丝点击