Процедура рисующая на экране вертикальную линию из любого числа символов "*" - C (СИ)
Формулировка задачи:
Составить процедуру рисующую на экране вертикальную линию из любого числа символов "*"
Решение задачи: «Процедура рисующая на экране вертикальную линию из любого числа символов "*"»
textual
Листинг программы
/* ANSI C 99 */ #include <stdio.h> #include <string.h> int main(void) { unsigned n; while ( printf("> ") && scanf("%u", &n) && n ) { char buf[n+1]; buf[n] = '\0'; printf("%s\n", (char*)memset(buf, '*', n)); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
n
иbuf
. - В цикле
while
происходит следующее:- Выводится сообщение
>
с помощью функцииprintf
. - Считывается число с помощью функции
scanf
в переменнуюn
. - Если
n
не равно нулю, то выполняются следующие действия:- Создается массив символов
buf
типаchar
длинойn+1
с последним элементом равным нулю. - С помощью функции
memset
все элементы массиваbuf
устанавливаются равными символу*
(звездочка). - Выводится массив символов
buf
с помощью функцииprintf
.
- Создается массив символов
- Выводится сообщение
- Цикл выполняется до тех пор, пока пользователь не введет ноль.
- В конце программы возвращается ноль, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д