public void lingxing (){
//第一种方法
for (int a = 1; a <= 10; a++) {
for (int b = 9; b >= a; b--) {
Console.Write (" ");
}
for (int c = 1; c <= a; c++) {
Console.Write ("*");
}
for (int e = 1; e<a ; e++) {
Console.Write ("*");
}
for (int f = 9; f >= 1; f--) {
Console.Write (" ");
}
Console.WriteLine ();
}
for (int a = 1; a <= 9; a++) {
for (int b = 1; b <= a; b++) {
Console.Write (" ");
}
for (int c = 9; c >= a; c--) {
Console.Write ("*");
}
for (int b = 8; b >= a; b--) {
Console.Write ("*");
}
for (int c = 1; c <= a; c++) {
Console.Write (" ");
}
Console.WriteLine ();
}
直接打印就好了啊。
帮助到你能点个采纳吗,谢谢~ 效果如下
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
var list = new List<string>();
var s = "";
//for只需要组合前半个,后半个翻转下数组去掉第一个就行
for (var i = 0; i < n; i++)
{
s = "";
var num = n + i + 1;
var start = n - i;
for (var j = 1; j < num; j++)
{
if (j < start) s += " ";
else s += (j == start || j == num - 1) ? "*" : " ";
}
list.Add(s);
}
Console.Write(String.Join("\n",list));
Console.WriteLine();
list.Reverse();//翻转
Console.Write(String.Join("\n",list.Skip(1).ToList()));//去掉第一个后打印
Console.ReadKey();
}
}
}