8944. *Рамка 3

 

Для заданного натурального числа n вывести квадратную рамку размером n * n из звездочек, заполненную пробелами как показано в примере.

 

Вход. Одно натуральное число n (n ≤ 100).

 

Выход. Выведите квадратную рамку размером n * n.

 

Пример входа

Пример выхода

5

*****

*   *

*   *

*   *

*****

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Квадратную рамку n * n рисуем следующим образом:

·        В первой строке выводим n звездочек;

·        Выводим n – 2 строки. В каждой строке выводим звездочку, n – 2 пробела и еще одну звездочку.

·        В последней n-ой строке выводим n звездочек если только n > 1;

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d", &n);

 

Выводим первую строку – n звездочек.

 

for (i = 0; i < n; i++)

  printf("*");

printf("\n");

 

Выводим n – 2 строки. В каждой строке выводим звездочку, n – 2 пробела и еще одну звездочку.

 

for (i = 0; i < n - 2; i++)

{

  printf("*");

  for (j = 0; j < n - 2; j++)

    printf(" ");

  printf("*\n");

}

 

Выводим последнюю строку – n звездочек. Ее выводим только если n > 1.

 

if (n > 1)

{

  for (i = 0; i < n; i++)

    printf("*");

  printf("\n");

}