【发布时间】:2021-08-16 11:38:59
【问题描述】:
我是新来的,一般来说也是 C# 的新手。我的任务是输出字母 O。此外,程序应该读取一个表示相应高度的数字。
输出应该看起来像给定的照片所示。
如果现在数字更大,则应相应调整对象的宽度。现在这是我的问题。我已经有一个代码块,它在星座上方输出,但不可定制。 我已经尝试过使用 WriteLine 和 if 语句来用空格缩放宽度,但这并不像我想要的那样工作。 另外,开头还缺少convert,它引入了输入的数字。
所以我想要什么:
- 您应该输入一个定义高度的数字。
- 输出应调整为高度并进行逻辑缩放
- 不应再添加包含 # 的行,它应该只是总共 8 个“#”(可以说是拉伸)
到目前为止我的代码是:
class Program
{
static void Main(string[] args)
{
for (int i = 0; i <= 7; i++)
if (i == 0)
Console.WriteLine(" #");
for (int j = 1; j <= 7; j++)
if (j == 1)
Console.WriteLine(" # #");
for (int k = 2; k <= 7; k++)
if (k == 2)
Console.WriteLine("# #");
for (int m = 3; m <= 7; m++)
if (m == 3)
Console.WriteLine(" # #");
for (int m = 4; m <= 7; m++)
if (m == 4)
Console.WriteLine(" #");
Console.ReadKey();
}
}
【问题讨论】:
-
该图像被称为“ASCII 艺术”。这是你应该用谷歌搜索的术语。
-
您需要使用固定大小(等宽)字体,例如 Courier 用于 ASCII 艺术,控制台标准设置就是这种情况。问题是什么?我看到空格放错了。
-
您的代码在某些方面不起作用吗?现在可能是开始熟悉use of a debugger 的好时机。执行此操作时,代码中的哪个特定操作首先会产生意外结果?调用该操作时的运行时值是多少?观察到的结果是什么?预期的结果是什么?为什么?有关如何提问的提示和信息,请参阅How to Ask 及其链接资源。
-
如果你理解你已经编写的代码(我不确定你是否完全理解,因为那些循环是多余的),那么你需要做的就是简单地问,“如果我想要将大小增加 X,这对每一行意味着什么?”换句话说,区别仅在于空格的位置和数量,那么您的代码如何根据宽度增加空格的数量?在方格纸上画出几个例子,就是基础数学。
标签: c#