循环嵌套练习题

Posted 露西&哈特菲利亚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环嵌套练习题相关的知识,希望对你有一定的参考价值。

            //BOSS:
            //让用户输入一个奇数,打印菱形,最长的行内容个数为用户输入的个数,并且由英文字母拼接而成
            //比如用户输入了7

            //    A
            //   ABA
            //  ABCBA
            // ABCDCBA
            //  ABCBA
            //   ABA
            //    A

            //1、接收并判断用户输入的是不是数字  
            try
            {
                #region  解法一
                //Console.Write("请输入一个奇数:");
                //int a = Convert.ToInt32(Console.ReadLine());
                //if (a % 2 != 0)
                //{
                //    for (int i = 1; i <= (a + 1) / 2; i++)
                //    {
                //        for (int b = 1; b <= ((a + 1) / 2 - i); b++)
                //        {
                //            Console.Write(" ");
                //        }
                //        char c = \'A\';
                //        for (int d = 1; d < i; d++)
                //        {
                //            Console.Write(c);
                //            c++;
                //        }
                //        for (int e = 1; e <= 26; e++)
                //        {
                //            Console.Write(c);

                //            if (c == \'A\')
                //            {
                //                break;
                //            }
                //            c--;
                //        }
                //        Console.WriteLine();
                //    }
                //    for (int i = 1; i < (a + 1) / 2; i++)
                //    {
                //        for (int b = 1; b <= i; b++)
                //        {
                //            Console.Write(" ");
                //        }
                //        char c = \'A\';
                //        for (int d = 1; d < (a + 1) / 2 - i; d++)
                //        {
                //            Console.Write(c);
                //            c++;
                //        }
                //        for (int e = 1; e <= 26; e++)
                //        {
                //            Console.Write(c);

                //            if (c == \'A\')
                //            {
                //                break;
                //            }
                //            c--;
                //        }
                //        Console.WriteLine();
                //    }
                //}
                #endregion

                #region 解法二 上半部分               
                Console.Write("请输入一个奇数:");
                int a = Convert.ToInt32(Console.ReadLine());
                if (a % 2 != 0)//是奇数,执行这个if里面的代码
                {
                    for (int i = 1; i <= (a + 1) / 2; i++)//上半部分行数,(a+1)/2 代表 上半部分需要打印的行数。
                    {
                        char ch = \'A\';
                        string end = "";
                        int b = ((i * 2 - 1) + 1) / 2 - 1;//开始 -- 的数值
                        bool isok = false;
                        int count = 0;
                        for (int j = 1; j <= ((a + 1) / 2) - i; j++)//拼接每行打印的空格数
                        {
                            end += " ";
                        }
                        for (int j = 1; j <= i * 2 - 1; j++)//拼接每行打印的字母数
                        {
                            end += ch;
                            if (count == b)//判断是不是该 -- 了
                            {
                                isok = true;
                            }
                            if (isok)//满足条件,执行这个 if 里面的代码
                            {
                                if (ch == \'A\')
                                {
                                    ch = \'Z\';
                                }
                                else//条件不成立
                                {
                                    ch--;
                                }
                            }
                            else
                            {
                                if (ch == \'Z\')
                                {
                                    ch = \'A\';
                                }
                                else
                                {
                                    ch++;
                                }
                                count++;
                            }
                        }
                        Console.WriteLine(end);
                    }
                }
                #endregion

                #region 解法二 下半部分
                for (int i = 1; i < (a + 1) / 2; i++)
                {
                    char ch = \'A\';
                    string end1 = "";
                    int b = ((a - i * 2) + 1) / 2 - 1;
                    int count = 0;
                    bool isok = false;
                    for (int j = 1; j <= i; j++)
                    {
                        end1 += " ";
                    }
                    for (int j = 1; j < (a - i * 2) + 1; j++)
                    {
                        end1 += ch;
                        if (count == b)
                        {
                            isok = true;
                        }
                        if (isok)
                        {
                            if (ch == \'A\')
                            {
                                ch = \'Z\';
                            }
                            else
                            {
                                ch--;
                            }
                        }
                        else
                        {
                            if (ch == \'Z\')
                            {
                                ch = \'A\';
                            }
                            else
                            {
                                ch++;
                            }
                            count++;
                        }
                    }

                    Console.WriteLine(end1);
                }
                #endregion
            }
            catch
            {
                Console.WriteLine("输入有误!");
            }
            Console.ReadLine();

 

以上是关于循环嵌套练习题的主要内容,如果未能解决你的问题,请参考以下文章

Python入门-4控制语句:07嵌套循环-练习

for循环练习题-使用嵌套循环,按照下面的格式打印字母。

for循环练习题-使用嵌套循环,按照下面的格式打印字母。

for循环练习题-使用嵌套循环,按照下面的格式打印字母。

C#/.NET6期01C#基础11嵌套循环或者叫二重循环continuebreak

C#/.NET6期01C#基础11嵌套循环或者叫二重循环continuebreak