Вывод сообщения в цикле - C (СИ)
Формулировка задачи:
Здравствуйте! Помогите решить задачу, написав в ответе код программы. Задача звучит так:
Напишите программу, которая выдает следующие выходные данные:
Улыбайся! Улыбайся! Улыбайся!
Улыбайся! Улыбайся!
Улыбайся!
В программе должна быть определена функция, которая отображает строку "Улыбайся!" один раз, в то же время программа может использовать эту функцию столько раз, сколько надо.
Заранее спасибо за уделенное внимание мой проблеме!
Решение задачи: «Вывод сообщения в цикле»
textual
Листинг программы
#include <stdio.h>
void print_smile(int n) {
if ( n ) {
printf("Улыбайся! ");
print_smile(n - 1);
}
else
printf("\n");
}
void print_smiles(int n) {
if ( n ) {
print_smile(n);
print_smiles(n - 1);
}
}
int main(void) {
print_smiles(3);
return 0;
}
Объяснение кода листинга программы
- Программа начинается с подключения заголовочного файла stdio.h, который содержит функции для ввода и вывода данных.
- В функции print_smile(int n) есть условие, если n не равно нулю, то выводится сообщение
Улыбайся!. - Затем функция print_smile(int n) вызывается рекурсивно с n-1, пока n не станет равным нулю.
- Когда n становится равным нулю, функция print_smile(int n) завершает свою работу и программа переходит к следующей итерации.
- В функции print_smiles(int n) также есть условие, если n не равно нулю, то вызывается функция print_smile(int n) и print_smiles(int n).
- Процесс продолжается до тех пор, пока n не станет равным нулю, после чего программа завершается.
- В функции main(void) вызывается функция print_smiles(3), что приводит к выводу сообщения
Улыбайся!Улыбайся!Улыбайся! - Затем программа возвращает управление и завершается.