用递归解决菱形,还不能使用for语句

用递归解决菱形,还不能使用for语句用递归解决菱形,还不能使用for语句用递归解决菱形,还不能使用for语句

回答

void CreatDiamond(int height, char content)

{

if (height < 0 || height % 2 == 0)

{

return;

}

string log = GetContent(height, content);

System.Console.Write(log);

}

string GetContent(int height, char content, int row = 0, int column = 0)

{

int half = height / 2;

int rowIndex = row <= half ? row : height - 1 - row;

if (row == height - 1 && column == half)

{

return content.ToString();

}

else if (half == column - rowIndex)

{

return content + "\n" + GetContent(height, content, row + 1, 0);

}

else

{

//第一个字符的位置

int firstContent = half - rowIndex;

if (column < half && column < firstContent)

{

return " " + GetContent(height, content, row, column + 1);

}

else

return content + GetContent(height, content, row, column + 1);

}

}

用C#快速的写了个方法,已经测过了

以上是 用递归解决菱形,还不能使用for语句 的全部内容, 来源链接: utcz.com/a/63239.html

回到顶部