一位同事让我用一个变量和一个循环打印一个三角形(任何形状)。我是这样做的:
Program.cs的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Triangle
{
class Program
{
static void Main(string[] args)
{
var triangle = "*";
do { Console.WriteLine(triangle); }
while ((triangle += "*").Length < 10);
Console.ReadLine();
}
}
}
我希望必须有更好的方法来做到这一点。你知道吗?
修改
蒂姆问我如何在不使用变量和循环的情况下打印三角形。哎哟! 我以为还在想:)你 知道怎么做?
答案 0 :(得分:2)
参数是否算作变量?
Console.WriteLine(
Enumerable.Range(2, 9)
.Aggregate("*", (s, i) => s + Environment.NewLine + new string('*', i)));
答案 1 :(得分:1)
我喜欢你的解决方案,为什么你需要更好的方法?
就个人而言,我已经选择了一个while循环:
var triangle = "";
while ((triangle += "*").Length < 10)
Console.WriteLine(triangle);
但这并没有太大改变。
答案 2 :(得分:1)
使用递归来消除循环 - 你仍然需要一个变量。
OTTOMH(加上没有在loooooooong时间编码C#)
bool PrintLine(int NumStars)
{
Console.WriteLine(space(NumStars).Replace (" ", "*"));
if (NumStars < 20)
PrintLine (NumStars);
}
答案 3 :(得分:0)
Process.Start("http://www.google.com/images?q=triangle");
答案 4 :(得分:0)
没有循环,没有变量(你明白了)
Console.WriteLine("*");
Console.WriteLine("**");
Console.WriteLine("***");
Console.WriteLine("****");
Console.WriteLine("*****");
符合要求。 ;)