fork download
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. int main() {
  5. char ch; // Текущий символ
  6. int word_count = 0; // Счётчик слов
  7. int in_word = 0; // Флаг: находимся ли мы внутри слова
  8. char first_char = '\0'; // Первая буква слова
  9. char second_char = '\0'; // Вторая буква слова
  10.  
  11. printf("Введите поток символов (Ctrl+D для завершения ввода):\n");
  12.  
  13. while ((ch = getchar()) != EOF) { // Чтение символов до конца файла
  14. if (isalpha(ch)) { // Если символ является буквой
  15. if (!in_word) {
  16. // Начало нового слова
  17. in_word = 1;
  18. first_char = tolower(ch); // Запоминаем первую букву
  19. } else if (first_char != '\0' && second_char == '\0') {
  20. // Вторая буква слова
  21. second_char = tolower(ch);
  22. }
  23. } else {
  24. if (in_word) {
  25. // Конец слова
  26. if (first_char != '\0' && second_char != '\0' && first_char == second_char) {
  27. word_count++; // Увеличиваем счётчик, если первые две буквы совпадают
  28. }
  29. // Сбрасываем состояние для следующего слова
  30. in_word = 0;
  31. first_char = '\0';
  32. second_char = '\0';
  33. }
  34. }
  35. }
  36.  
  37. // Проверяем последнее слово, если оно есть
  38. if (in_word && first_char != '\0' && second_char != '\0' && first_char == second_char) {
  39. word_count++;
  40. }
  41.  
  42. printf("Количество слов, у которых первые две буквы совпадают: %d\n", word_count);
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0s 5288KB
stdin
house horse bed stick
stdout
Введите поток символов (Ctrl+D для завершения ввода):
Количество слов, у которых первые две буквы совпадают: 0