其实很简单,用循环就可以了!
 程序代码如下,请参考:
Console.WriteLine("请输入一个数字,然后回车");string strInput = Console.ReadLine();int c = Convert.ToInt32(strInput);Console.WriteLine("---------------");for (int i = 1; i <= c; i++)
{
    for (int k = 0; k < c - i; k++)
    {
        Console.Write("\t");
    }
    for (int j = 1; j <= i; j++)
    {
        Console.Write(j);
        Console.Write("\t");
    }    for (int k = i - 1; k > 0; k--)
    {
        Console.Write(k);
        Console.Write("\t");
    }    Console.WriteLine();
}for (int i = c - 1; i > 0; i--)
{
    for (int k = 0; k < c - i; k++)
    {
        Console.Write("\t");
    }
    for (int j = 1; j <= i; j++)
    {
        Console.Write(j);
        Console.Write("\t");
    }    for (int k = i - 1; k > 0; k--)
    {
        Console.Write(k);
        Console.Write("\t");
    }    Console.WriteLine();
}Console.ReadKey(true);

解决方案 »

  1.   

    System.out.println("请输入数字:");
    int shu=input.nextInt();
    for (int i=1;i<=shu;i++)
    {
    for(int j=shu;j>=i;j--)
    {
    Console.Write("-");
    }
    for(int z=1;z<=i*2-1;z++)
    {
    if(z==1||z==i*2-1)
                                   {
    Console.Write("*");
    }
                                    else
                                    {
    Console.Write("-");
    }
    }
    Console.WriteLine();
    }
    for(int i=shu;i>1;i--)
    {   
    for(int j=shu+1;j>=i;j--)
    {
    Console.Write("-");
    }
    for(int z=1;z<=(i-1)*2-1;z++)
    {
    if(z==1||z==(i-1)*2-1)
                                    {
    Console.Write("*");
    }
                                    else
                                    {
     Console.Write("-");
    }
    }
    Console.WriteLine();
    }用空格代替减号就是一个空棱形了