Лучший способ реорганизовать это C-код? CS50 - mario.c (больше)

голоса
-3

Так Im принимая CS50 курс и решения mario.c больше от PSET 1

Я на самом деле решить ее с 3 на петлях, но я хотел, чтобы реорганизовать его только с 2 петлями и я придумал этот код, который дает следующее решение «высота: 5»

Result:
    #  #
   ##  ##
  ###  ###
 ####  ####
#####  #####

#include <stdio.h>

int main(void)
{
   
    int side = 5;
    int max = side + 2;

    for (int i = 1 ; i <= side ; i++)
    {
      int j = 1;
      while(j != max+1)
      {
        if(j <= side-i)
        {
        printf( );
        j++;
        }
        else if(j > side-i && j < side+1)
        {
        printf(#);
        j++;
        }
        else if(j == side+1)
        {
        printf(  );
        j++;
        } 
        else 
        {
        printf(#);
        j++;
        }
      }
    max++;
    printf(\n);
    }
}

Я бы хотел знать, если вы, ребята, можете показать мне более элегантное решение, так как я думаю, что это слишком ... повторы.

Кроме того, можно использовать переключатель случай вместо так много еще, если? Пытался сделать это, но код не брал булевы для J :(

Заранее спасибо! :)

Задан 02/09/2018 в 05:38
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more