Ввести несколько предложений в отдельные строки - C (СИ)
Формулировка задачи:
Необходимо ввести несколько предложений в отдельные строки, но каждой отдельное слово помещается в отдельную строку.
Например,
Результат выполнения программы представлен на скрине...
#include <stdio.h> void main() { char str1[100], str2[100], str3[100]; printf("Enter the first string:\n"); scanf("%s", str1); printf("Enter the second string:\n"); scanf("%s", str2); printf("Enter the third string:\n"); scanf("%s", str3); printf("The first string:\n%s\n", str1); printf("The second string:\n%s\n", str2); printf("The third string:\n%s\n", str3); }
Решение задачи: «Ввести несколько предложений в отдельные строки»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define LEN 1024 #define WHITESPACE " \t\n" int main(int argc, char *argv[]) { char buf[LEN], *ptr; size_t nth = 0; printf("Enter a line: "); fflush(stdout); fgets(buf, LEN, stdin); printf("You've entered: %s\n", buf); for(ptr = strtok(buf, WHITESPACE); ptr != NULL; ptr = strtok(NULL, WHITESPACE)) printf("Word #%02d: %s\n", ++nth, ptr); exit(0); }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
- Определение констант: LEN (длина строки в символах), WHITESPACE (строка, содержащая символы пробела, табуляции и переноса строки)
- Ввод строки с помощью функции fgets в буфер buf
- Вывод введенной строки с помощью функции printf
- Разделение строки на слова с помощью функции strtok, разделение происходит по символам пробела, табуляции и переноса строки
- В цикле for происходит вывод каждого слова на отдельной строке с помощью функции printf, при этом увеличивается счетчик nth, который определяет номер слова
- Конец программы достигается при достижении условия exit(0)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д