Определить количество слов, которые начинаются и заканчиваются на одну и туже букву - C (СИ)
Формулировка задачи:
Дано рядок, що складається з російських слів, розділених
пробілами (одним або кількома). Визначити кількість слів, що
починаються і закінчуються однією і тією ж буквою.
Помогите пожалуйста, написать через принтф и сканф
Решение задачи: «Определить количество слов, которые начинаются и заканчиваются на одну и туже букву»
textual
Листинг программы
#include "stdafx.h" #include <string.h> int main() { int count = 0; // инициализация счётчика char str[256] = "anapa sos"; // тестовая строка char *token; // временный буффер // разбиваем строку на подстроки функцией strtok token = strtok(str," "); if(token[0] == token[strlen(token) - 1]) { // если первый и последние символы одинаковые, прибавляем счётчик count++; } // пока не разобрали всю строку while (token != NULL) { // разбиваем строку на подстроки функцией strtok token = strtok(NULL, " "); if(token != NULL && token[0] == token[strlen(token) - 1]) { // если первый и последние символы одинаковые, прибавляем счётчик count++; } } // вывод результата на экран printf("Kolvo slov: %d", count); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с C
- Объявляем функцию main(), в которой будет находиться основной код программы
- Инициализируем переменную count типа int со значением 0. Она будет использоваться для подсчета слов, удовлетворяющих условию
- Объявляем тестовую строку str типа char с длиной 256 символов и присваиваем ей значение
anapa sos
- Объявляем переменную token типа char* (указатель на символ), которая будет использоваться как временный буфер
- Используем функцию strtok() для разбиения строки на подстроки, передавая в нее указатель на начало строки (str) и разделитель (пробел)
- Проверяем, совпадают ли первый и последний символы текущего слова (токена). Если да, увеличиваем значение переменной count на 1
- Используем цикл while для продолжения разбиения строки на подстроки до тех пор, пока не будет обработана вся строка
- Внутри цикла проверяем, является ли текущий токен не NULL и совпадают ли первый и последний символы текущего слова. Если да, увеличиваем значение переменной count на 1
- Выводим результат работы программы на экран с помощью функции printf()
- Возвращаем 0 из функции main(), чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д