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

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

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

Решить эту задачу используя простейшие структуры данных
Определить количество слов, у которых первый и последний симво-лы совпадают между собой.

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define N 255
#define DELIM " ,.\t\n"
 
char end_simb(char *s)
{
    while(*s++);
    s-=2;
    return *s;
}
int main(void)
{
    char str[N]="abba gdfg hhj nfffnd appa";
    char *p=NULL;
    int c=0;
    for (p = strtok(str, DELIM); p!=NULL; p = strtok(NULL, DELIM))
    {
        if(*p==end_simb(p))c+=1;
    }
    printf("%d\n", c);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Определение константы N, которая задает максимально возможное количество символов в строке
  3. Определение строки-разделителя DELIM, которая разделяет строку на слова
  4. Функция end_simb, которая принимает строку и возвращает последний символ этой строки
  5. В функции main создается строка str, которая содержит тестовый набор данных
  6. Инициализация переменной p с значением NULL
  7. Инициализация переменной c с значением 0
  8. Использование функции strtok для разделения строки на слова и сохранения их в переменную p
  9. Проверка каждого слова на условие (*p==end_simb(p)), если условие выполняется, то переменная c увеличивается на 1
  10. После окончания цикла, выводится значение переменной c
  11. Возвращение 0, что означает успешное выполнение программы

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

13   голосов , оценка 4.077 из 5
Похожие ответы