Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова - C (СИ) (76429)
Формулировка задачи:
Ввести строку. Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова.
Решение задачи: «Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define DELIM " \t\n" int main(void) { char buf[BUFSIZ]; while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) { char * p; for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ) { printf("%s", p); memset(p, ' ', strlen(p)); printf("%s", p); } printf("\n"); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и string.h
- Определение строки-разделителя DELIM, которая будет использоваться для разделения входной строки на слова.
- В основной функции программы main() объявляется буферная переменная buf, которая будет использоваться для хранения строки, введенной пользователем.
- В цикле while программа запрашивает у пользователя ввод строки и сохраняет ее в переменной buf.
- Затем программа разбивает входную строку на слова, используя функцию strtok().
- В цикле for каждое слово выводится на экран, после чего в этом же цикле устанавливается количество пробелов, равное длине слова, и это слово выводится еще раз.
- В конце программы выводится символ новой строки
\n
. - В конце функции main() возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д