Для заданных натуральных чисел n и m вывести
прямоугольную рамку размером n * m из
звездочек, заполненную пробелами как показано в примере.
Вход. Два
натуральных числа n и m (n, m ≤ 100).
Выход. Выведите
прямоугольную рамку размером n * m.
Пример входа |
Пример выхода |
4 7 |
******* * * * * ******* |
циклы
Прямоугольную рамку n * m рисуем
следующим образом:
·
В первой строке выводим
m звездочек;
·
Выводим n – 2 строки.
В каждой строке выводим звездочку, m – 2 пробела
и еще одну звездочку если только m > 1;
·
В последней n-ой строке выводим m звездочек если только n > 1;
Реализация алгоритма
Читаем входные
значения n и m.
scanf("%d %d", &n, &m);
Выводим первую строку –
m звездочек.
for (i = 0; i < m; i++)
printf("*");
printf("\n");
Выводим n – 2 строки.
В каждой строке выводим звездочку, m – 2 пробела
и еще одну звездочку если только m > 1.
for (i = 0; i < n - 2; i++)
{
printf("*");
for (j = 0; j <
m - 2; j++)
printf(" ");
if (m > 1)
printf("*");
printf("\n");
}
Выводим последнюю
строку – m звездочек. Ее
выводим только если n > 1.
if (n > 1)
{
for (i = 0; i < m; i++)
printf("*");
printf("\n");
}