Making pyramid using c#

后端 未结 13 2069
花落未央
花落未央 2021-01-03 11:04

My question is how to make a pyramid using * and \'space\' in C#? The output will be like this.

     *
    * *
   * * *
  * * * *
 * * * * *
<
相关标签:
13条回答
  • 2021-01-03 11:16

    Here I have created a number pyramid:

    using System;
    
    public class Program
    {
       public static void Main()
       {
          Console.WriteLine("This is a number pyramid....");
          var rows = 5;
    
          for(int i = 1; i <= rows; i++)
          {
             for(int lsc = (-rows); lsc <= -2; lsc ++)
             {
                if(lsc < (-1)*i)
                {
                   //write left sided blank spaces
                   Console.Write(" ");
                }
                else
                {
                   //write left sided numbers
                   Console.Write(-1*(lsc));
                }
             }
    
             for(int rsc = 1; rsc <= rows; rsc++)
             {
                //write right sided blank spaces
                Console.Write(" ");
             }
             else
             {  
                //Write sided numbers
                Console.Write(rsc);
             }
           } 
          Console.WriteLine();
        }
      }
    } 
    

    I have described here https://utpalkumardas.wordpress.com/2018/04/20/draw-number-pyramid

    Out put is:

    The is a number pyramid....
            1
          212
        32123
      4321234
    543212345

    0 讨论(0)
  • 2021-01-03 11:18
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Star_Pyramid
    {
        class Program
        {
            static void Main(string[] args)
            {
                Program o = new Program();
                o.show();
    
                Console.ReadKey();
            }
            void show()
            {
               for (int i = 1; i <= 12; i++)
                {
                    for (int j = 1; j <= 9 - i / 2; j++)
                    {
                        Console.Write("   ");
                    }
                    for (int k = 1; k <= i; k++)
                    {
                        Console.Write(" * ");
                        Console.Write(" ");
    
    
                    }
                    Console.WriteLine();
    
                }
            }
        }
    }
    
    0 讨论(0)
  • 2021-01-03 11:20

    Try this and follow this same logic in c, c++, php, java

    using System;
    
    class pyramid {
    
          static void Main() {
    
               /** Pyramid stars Looking down 
                   Comment this if u need only a upside pyramid **/
    
               int row, i, j;
    
               // Total number of rows
               // You can get this as users input 
               //row =  Int32.Parse(Console.ReadLine());
               row = 5;             
    
               // To print odd number count stars use a temp variable
               int temp;
               temp = row;
    
               // Number of rows to print 
               // The number of row here is 'row'
               // You can change this as users input 
               for ( j = 1 ; j <= row ; j++ ) { 
    
               // Printing odd numbers of stars to get 
               // Number of stars that you want to print with respect to the value of "i"?         
                   for ( i = 1 ; i <= 2*temp - 1 ; i++ )
                       Console.Write("*");
    
               // New line after printing a row            
                   Console.Write("\n");
                   for ( i = 1 ; i <= j ; i++ )                
                       Console.Write(" ");
    
               // Reduce temp value to reduce stars count                  
                   temp--;
               }
    
               /** Pyramid stars Looking up 
                   Comment this if u need only a downside pyramid **/
               int rowx, k, l;
    
               // Total number of rows
               // You can get this as users input 
               // rowx =  Int32.Parse(Console.ReadLine());
               rowx = 5; 
    
               // To print odd number count stars use a temp variable
               int tempx;
               tempx = rowx;
    
               //Remove this if u use 
               Console.Write("\n");
    
               // Number of rows to print 
               // The number of row here is 'rowx'
    
               for ( l = 1 ; l <= rowx ; l++ ) {
    
               // Leaving spaces with respect to row
                   for ( k = 1 ; k < tempx ; k++ )
                       Console.Write(" ");
    
               // Reduce tempx value to reduce space(" ") count  
                   tempx--;
    
               // Printing stars 
                   for ( k = 1 ; k <= 2*l - 1 ; k++ )
                       Console.Write("*"); 
    
               // New line after printing a row 
                   Console.Write("\n");
               }           
          }
    }
    
    0 讨论(0)
  • 2021-01-03 11:23

    Your problem is spaces, therefore I suggest you think about the spaces. Tell me this: how many spaces are on each row to the left of the first star? You'll likely be able to solve your own problem if you think about this.

    0 讨论(0)
  • 2021-01-03 11:25

    think about how you'd print the pyramid manually.

    suppose 5 levels deep.

    1st line: 4 spaces, 1 star,
    2nd line: 3 spaces, star, space, star
    3rd line: 2 spaces, star space star space star
    

    etc.

    doesn't matter whether you print spaces after the last star or not - won't make a difference to how it looks.

    what do we see?

    if we have a total of X levels

    line 1: (x-1) spaces, (star space)
    line 2: (x-2) spaces, (star space) twice
    line 3: (x-3) spaces, (star space) three times
    line 4: (x-4) spaces, (star space) four times
    

    that's the pattern. I'll leave the coding to you.

    0 讨论(0)
  • 2021-01-03 11:25
    using System;
    
        class Program
        {
            static void Main(string[] args)
            {
                int num, i, j, k;
                Console.Write("enter the level:");
                num=Convert.ToInt32(Console.ReadLine());
                for (i = 1; i <= num; i++)
                {
                    for (j = 1; j < num-i+1; j++)
                    {
                        Console.Write(" ");
                    }
                    for (k = 1; k <= i; k++)
                    {
                        Console.Write(i);
                        Console.Write(" ");
                    }
                    Console.WriteLine();
    
                }
            }
        }
    
    0 讨论(0)
提交回复
热议问题