Вывод пирамидки из букв - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Друзья, подскажите, если кто это решил или знает как. Сломал себе всю голову сегодня. Уже просто интересно. P.S. Мне только одному кажется, что в этой книге практические задания немного не соответствуют уровню предварительной подготовки к ним? Реально очень тяжело. Хотя читаю все очень добросовестно, и на вопросы для самоконтроля отвечаю практически без ошибок.

Решение задачи: «Вывод пирамидки из букв»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
 
int main(void)
{
    char letter, i, j;
    int spaces, count;
    printf("Input a letter: ");
    scanf("%c", &letter);
    letter = toupper(letter);
    spaces = letter - 'A';
    for (i = 'A'; i <= letter; ++i)
    {
        for (count = 0; count < spaces; ++count)
            printf(" ");
        for (j = 'A'; j < i; ++j)
            printf("%c", j);
        for (j = i; j >= 'A'; --j)
            printf("%c", j);
        printf("\n");
        --spaces;
    }
    
    _getch();
    return 0;
}

Объяснение кода листинга программы

В этом коде происходит следующее:

  1. Ввод буквы от пользователя с помощью функции scanf.
  2. Приведение введенной буквы к верхнему регистру с помощью функции toupper.
  3. Вычисление количества пробелов, которые должны быть напечатаны перед началом вывода пирамиды, с помощью вычитания кода символа 'A' из введенной буквы.
  4. Вывод пирамиды из букв. Это делается с помощью трех вложенных циклов.
    • Внешний цикл идет от символа 'A' до введенной буквы.
    • Внутренний цикл по счету пробелов печатает соответствующее количество пробелов.
    • Второй внутренний цикл печатает буквы от 'A' до текущей буквы во внешнем цикле.
    • Третий внутренний цикл печатает буквы от текущей буквы до 'A' во внешнем цикле.
  5. Уменьшение количества пробелов на единицу после каждого вывода пирамиды.
  6. Использование функции _getch для приостановки выполнения программы и возврата 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы