C# 我们可以在C中使用for循环打印带“*”的“A”吗

C# 我们可以在C中使用for循环打印带“*”的“A”吗,c#,C#,我想在屏幕上打印这封信。字母应使用星号*构建。例如,在控制台应用程序中 这可以通过使用for循环的简单方式实现 例如: ** * * * * ****** * * * * 编辑: 下面的答案与OP完全无关,但非常有趣、知识丰富且有意义我不知道这是否是您想要的,但您可以创建一个2D数组,并使用嵌套for循环打印其内容: var asciiArtA = new [,] { {' ', ' ', '*

我想在屏幕上打印这封信。字母应使用星号*构建。例如,在控制台应用程序中

这可以通过使用for循环的简单方式实现

例如:

  **
*    *
*    *
******
*    *
*    *
编辑:


下面的答案与OP完全无关,但非常有趣、知识丰富且有意义

我不知道这是否是您想要的,但您可以创建一个2D数组,并使用嵌套for循环打印其内容:

var asciiArtA = new [,]
                {
                    {' ', ' ', '*', ' ', ' '},
                    {' ', '*', ' ', '*', ' '},
                    {' ', '*', ' ', '*', ' '},
                    {'*', '*', '*', '*', '*'},
                    {'*', ' ', ' ', ' ', '*'},
                    {'*', ' ', ' ', ' ', '*'},
                    {'*', ' ', ' ', ' ', '*'}
                };

for (int i = 0; i < asciiArtA.GetLength(0); ++i)
{
    for (int j = 0; j < asciiArtA.GetLength(1); ++j)
    {
        Console.Write(asciiArtA[i,j]);
    }
 Console.WriteLine();
}
将打印:

* * * * * ***** * * * * * *
一种可能的方法是以下方法,尽管需要做一些工作,但可能不适合刚开始学习C的人:

拿着你想要打印的信,生成它的图像。字母可以是彩色的,但最好是黑白的

例如:

  **
*    *
*    *
******
*    *
*    *
加载图像和位图类型

将其转换为灰度

循环遍历每个像素,确定您处理的是白色、黑色还是其他非白色像素。这是你的for循环

打印出符号空格、*…等。取决于像素的颜色

这类似于CodeProject上生成ASCII art的以下方法


另一种可能的方法是按照您希望的方式将信函打印在文本文件中,如下所示:

001100
100001
100001
111111
100001
100001
将其保存在a.txt文件中。然后,执行一个函数,通过迭代在相应的字母文件中定义的模式来打印它

public void PrintChar(char charToPrint)
{
    string filename = string.Format("{0}.txt", charToPrint);

    using (StreamReader reader = new StreamReader(filename))
    {
        string line;

        while ((line = reader.ReadLine()) != null)
        {
            foreach (char c in line.ToCharArray())
            {
                Console.Write(c == '1' ? '*' : ' ');
            }

            Console.WriteLine();
        }
    }
}
此解决方案一点也不灵活,但如果您只想打印字母表中的几个字母,它的效果非常好:


编辑:更好的方法是以ASCII码命名文件,这样您也可以打印小写字符。Windows文件系统认为A.txt和A.txt是相同的。

忽略“for循环”的概念,您可以通过PInvoke(例如)使用另一个库打印/呈现ascii文本

看看它在行动。以下是使用courb字体生成的


我想他想知道如何在屏幕上自动生成一个由一堆****符号组成的字母A控制台应用程序。类似于ASCII艺术的东西。@Christophe:是的,这就是我想要的,我知道这不是必要的,但这可以用一个简单的for-loop来完成吗?顺便问一句,为什么是反对票,请explain@Pankaj当前位置我认为这个问题很不清楚。在我得到你想要的东西之前我必须盯着它看一会儿也许那只是我。我已经提交了一个编辑请求。我不明白。标题读起来尽可能清楚。但是有些人没有考虑一下,在不理解这篇文章的情况下投了反对票。我想你指的是安慰;