4. 設計一程式以顯示不同方向及型態的等腰三角形
namespace Q4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
Close();
}
bool hollow = false;
private void button4_Click(object sender, EventArgs e)
{
up.Text = "";
down.Text = "";
hollow = false;
}
private void button5_Click(object sender, EventArgs e)
{
hollow = true;
}
bool goUp = true;
private void button1_Click(object sender, EventArgs e)
{
goUp = true;
}
private void button2_Click(object sender, EventArgs e)
{
goUp = false;
}
private void button6_Click(object sender, EventArgs e)
{
var n = int.Parse(textBox1.Text);
string s = "";
for (int i = 1; i <= n; i += 2)
{
for (int j = 0; j < (n - i) / 2; j++)
s += " ";
for (int j = 0; j < i; j++)
{
s += "*";
}
s += "\n";
}
s = s[..^1];
if (!goUp) s = string.Join("\n", s.Split("\n").Reverse());
up.Text = @$"數值: {n}
顯示方向: {(goUp ? "正向" : "垂直反轉")}
{s}";
if (hollow)
{
s = "";
for (int i = 1; i <= n; i += 2)
{
for (int j = 0; j < (n - i) / 2; j++)
s += " ";
for (int j = 0; j < i; j++)
{
s += j == 0 || j == i - 1 || i == n ? "*" : " ";
}
s += "\n";
}
s = s[..^1];
if (!goUp) s = string.Join("\n", s.Split("\n").Reverse());
down.Text = @$"數值: {n}
顯示方向: {(goUp ? "正向" : "垂直反轉")}
設為中空
{s}";
}
}
}
}
Last updated