Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова - C (СИ) (76425)
Формулировка задачи:
Ввести строку. Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова.
Решение задачи: «Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> #define SIZE 1000 int main(void) { char line[SIZE]; int i, j; fgets(line, SIZE, stdin); for (i = 0; line[i] != '\n' && line[i] != '\0'; ) { while (isspace(line[i])) putc(line[i++], stdout); if (!isspace(line[i])) { for (j = 0; !isspace(line[i]) && (line[i] != '\n' && line[i] != '\0'); ++j, ++i) putc(line[i], stdout); while (--j > 0) putc(' ', stdout); } } if (line[i] == '\n') putc(line[i], stdout); return 0; }
Объяснение кода листинга программы
В этом коде:
- Вводится строка с помощью функции
fgets()
. - Происходит проход по каждому символу строки.
- Если текущий символ является пробелом, то он выводится на экран.
- Если текущий символ не является пробелом, то происходит проход по всем последующим символам до следующего пробела или конца строки. Выводятся все эти символы, а затем выводится пробел.
- Если текущий символ является символом новой строки, то он выводится на экран.
- В конце программы выводится символ новой строки.
- Программа завершается с возвращаемым значением 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д