Оставить по 2 буквы в каждом слове - C (СИ)
Формулировка задачи:
Здравствуйте,
Имеется массив указателей на слова, полученный после разбития текста. Мне необходимо оставить по 2 буквы в каждом слове. Как будет правильно это сделать?
Решение задачи: «Оставить по 2 буквы в каждом слове»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { char* text[] = { "This", "input", "very", "important" }; int counter = 0; printf("Words!\n"); char twoCharacters[3]; for (counter = 0; counter < 4; ++counter) { printf("Word: %s\n", text[counter]); if (strlen(text[counter]) >= 3) { strncpy(twoCharacters, text[counter], sizeof(twoCharacters) - 1); twoCharacters[2] = '\0'; printf("First two characters: %s\n", twoCharacters); } } return EXIT_SUCCESS; }
Объяснение кода листинга программы
В этом коде:
- Создается массив строк
text[]
с четырьмя элементами, содержащими словаThis
,input
,very
иimportant
. - Инициализируется переменная
counter
со значением 0. - Выводится сообщение
Words!
. - Создается массив символов
twoCharacters[]
с максимальным размером 3 символа. - В цикле
for
начиная с 0 и до 3 происходит вывод каждого слова из массиваtext[]
с помощью функцииprintf()
. - Если длина слова в текущей итерации больше или равна 3 символам, то первые два символа этого слова копируются в массив
twoCharacters[]
с помощью функцииstrncpy()
. - В конце цикла
for
добавляется символ конечной строки '\0' в массивtwoCharacters[]
. - Выводится сообщение
First two characters: %s\n
с помощью функцииprintf()
, где%s\n
является форматом вывода строки, аtwoCharacters[]
является значением этой строки. - Код завершается успешным завершением функции
main()
с кодом выхода EXIT_SUCCESS.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д