Определить количество слов, которые начинаются и заканчиваются на одну и туже букву - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано рядок, що складається з російських слів, розділених пробілами (одним або кількома). Визначити кількість слів, що починаються і закінчуються однією і тією ж буквою.
Помогите пожалуйста, написать через принтф и сканф

Решение задачи: «Определить количество слов, которые начинаются и заканчиваются на одну и туже букву»

textual
Листинг программы
  1. #include "stdafx.h"
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.  
  7.     int count = 0; // инициализация счётчика
  8.     char str[256] = "anapa sos"; // тестовая строка
  9.     char *token; // временный буффер
  10.  
  11.     // разбиваем строку на подстроки функцией strtok
  12.      token = strtok(str," ");
  13.  
  14.     if(token[0] == token[strlen(token) - 1]) { // если первый и последние символы одинаковые, прибавляем счётчик
  15.         count++;
  16.     }
  17.  
  18.     // пока не разобрали всю строку
  19.     while (token != NULL) {
  20.         // разбиваем строку на подстроки функцией strtok
  21.         token = strtok(NULL, " ");
  22.         if(token != NULL && token[0] == token[strlen(token) - 1]) { // если первый и последние символы одинаковые, прибавляем счётчик
  23.             count++;
  24.         }
  25.     }
  26.     // вывод результата на экран
  27.     printf("Kolvo slov: %d", count);
  28.     return 0;
  29. }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с C
  2. Объявляем функцию main(), в которой будет находиться основной код программы
  3. Инициализируем переменную count типа int со значением 0. Она будет использоваться для подсчета слов, удовлетворяющих условию
  4. Объявляем тестовую строку str типа char с длиной 256 символов и присваиваем ей значение anapa sos
  5. Объявляем переменную token типа char* (указатель на символ), которая будет использоваться как временный буфер
  6. Используем функцию strtok() для разбиения строки на подстроки, передавая в нее указатель на начало строки (str) и разделитель (пробел)
  7. Проверяем, совпадают ли первый и последний символы текущего слова (токена). Если да, увеличиваем значение переменной count на 1
  8. Используем цикл while для продолжения разбиения строки на подстроки до тех пор, пока не будет обработана вся строка
  9. Внутри цикла проверяем, является ли текущий токен не NULL и совпадают ли первый и последний символы текущего слова. Если да, увеличиваем значение переменной count на 1
  10. Выводим результат работы программы на экран с помощью функции printf()
  11. Возвращаем 0 из функции main(), чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы