c# - C#,Windows 应用程序,绘制一个边为 N 的正方形
问题描述
对于学校练习,我必须在 C# 中制作一个 Windows 应用程序,该应用程序接受一个输入数字并在 N 侧绘制一个 X 的正方形。我必须使用循环来完成它,并且我不能使用任何预设命令。(例如我不能使用的 math.pow)(我已经包含了作业的图片。)我已经在控制台应用程序中对该程序进行了模式化,并且它运行良好。我认为我非常接近解决它,但无法弄清楚最后一步是什么。我很想知道我缺少什么以及我应该如何解决这个问题。
这是我现在的代码:
int n;
n = int.Parse(txt_input.Text);
//upper part
for (int i = 0; i < n; i++)
{
lbl_output.Text = "X";
lbl_output.Text = "\n";
}
//middel part
for (int i = 0; i < n - 2; i++)
{
lbl_output.Text = "X";
for (int j = 0; j < n - 2; j++) lbl_output.Text = " ";
lbl_output.Text = "X";
lbl_output.Text = "\n";
}
//upper part
for (int i = 0; i < n; i++)
{
lbl_output.Text = "X";
lbl_output.Text = "\n";
}
解决方案
尝试这个:
int n = int.Parse(txt_input.Text);
var sb = new StringBuilder();
for (int j = 0; j < n; j++)
{
sb.Append('X');
}
sb.AppendLine();
for (int i = 0; i < n - 2; i++)
{
sb.Append('X');
for (int j = 0; j < n - 2; j++)
{
sb.Append(' ');
}
sb.Append('X');
sb.AppendLine();
}
for (int j = 0; j < n; j++)
{
sb.Append('X');
}
lbl_output.Text = sb.ToString();
推荐阅读
- javascript - 'stream-array' 可读的不是异步可迭代的
- ios - 以编程方式(在 Swift 中)将 UINavigationController 嵌入 MapKit 以保存 UISearchController
- sql - 在 MVC 迁移中,我无法从一种解决方案更新数据库,但可以从另一种解决方案进行更新
- javascript - Vue 反应性:计算的更改数据但没有对其做出反应
- c++ - 自定义 Vector2D 类中的浮点错误
- javascript - Javascript 在悬停时查看该 div
- php - 将 sql 查询作为一个 sql 脚本(带有内部连接)与多个脚本运行,同时在数组中操作它们
- node.js - µWebSockets 编译失败,没有预编译的二进制文件
- c#-4.0 - C# 从另一个窗口单击鼠标时触发函数
- python - 在 OpenCV python 中将白色像素转换为黑色