C#打印循环

时间:2014-10-30 05:27:52

标签: c#

我想打印这个: - 1 121 12321 1234321 123454321

此程序打印此内容。程序中的错误可能是什么?在for循环中?请告诉我如何解决这个问题。我正在使用的逻辑中的错误是什么。如果是这样,我的逻辑中出现了什么问题?在不久的将来,我应该如何考虑算法呢? : - 1 12 123 123432 123454321

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, c, d, e;
            b = 6;
            for(a=b;a>=1;a--)
            {
                for (c = a; c >=1; c--)
                {
                    Console.Write(" ");
                }
                for(d=1; d<=b-a;d++)
                {
                    Console.Write(d);
                }
                for (e = b-a-1; e>=a; e--)
                {
                    Console.Write(e);
                }
                Console.WriteLine();

            }
        }
    }
}

请告诉我代码中的问题。

3 个答案:

答案 0 :(得分:5)

问题出在for (e = b-a-1; e>=a; e--)

将其更改为for (e = b-a-1; e>=1; e--)

答案 1 :(得分:3)

课程计划

{

static void Main(string [] args)

    {
        int a = 1, b, s = 1, n = 5;
        for (; a <= n; s = s * 10 + 1)
        {
            for (b = n - a; b >= 1; b--)
            {
                Console.Write(" ");
            }
            Console.Write(s * s);
            Console.WriteLine();
            a++;
        }

    }
}

希望这有帮助。

答案 2 :(得分:1)

@chouaib对于问题在代码中的位置绝对正确。

但是,我们需要处理您的代码及其编写方式。

首先是你的变量名。 abcde毫无意义。从查看和阅读此代码,我无法弄清楚它将做什么。您希望阅读它的人能够轻松理解您的代码。 使用具有意义的变量名称。对于这样的问题,我可能会使用rowcolumn,具体取决于我解决问题的方法。

这让我想到了接下来要考虑的事情,如何解决这个问题。 您实际上有一个表,您正在使用行和列写入值。所以一个好的开始就是遍历每一行的列。像

这样的东西
int totalNumberOfRows = 5;
int totalNumberOfColumns = 9;
// Iterate over each row
for (int row = 0; row < totalNumberOfRows; row++)
{
    // Iterate over each column of each row
    for (int column = 0; column < totalNumberOfColumns; column++)
    {
        // Do something
    }
}

接下来,简化一下问题。让我们忽略空白,使它变成一个漂亮的金字塔。试试打印

1
121
12321
etc...

一旦你实现了那个,那么你几乎就在那里。 如果你看一个问题并且无法解决问题,可以尝试将其分解为更小,更容易的问题。

当您编写代码时,请考虑让其他人轻松阅读和理解。代码需要是可维护和可扩展的,这意味着当有人需要处理代码来添加代码或修复错误时,他们不希望花费数小时阅读它来理解它。