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

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

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

Как сделать так, чтоб проверял только первый символ? в новом слове. То если гласная где то в середине, то он начиная с гласной пишет огрызок слова =\
int main()
{
    
    int i=0;
    int x=0;
    char D[]="eEyYuUiIoOaA";
   char str[100];
   puts("vod: ");
   gets(str);
   
   while (str[i] != '\0')
   {
    for(x = 0; D[x] !='\0';++x)
    {
      if (str[i] == D[x] )
      {
         while (str[i] != ' ' && str[i] != '\0')
         {
            printf("%c", str[i]);
            i++;
         }
         printf("\n");
      }
  }
      if (str[i] != '\0')
      {
         i++;
      }
  
   }
   getch();
   return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define N 256
#define DELIM " \n\t,.;:?!"
int main()
{
    int i;
    char D[]="eEyYuUiIoOaA";
    char str[N], *p;
    puts("Enter line:");
    fgets(str, N, stdin);
    for(p = strtok(str, DELIM); p; p = strtok(NULL, DELIM)){
        for(i = 0; D[i]; i++){
            if (*p == D[i] ){
                puts(p);
                break;
            }
        }
    }
    return 0;
}

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

В этом коде:

  1. #include Включается файл стандартного ввода/вывода, который содержит функции для работы с консолью.
  2. #include Включается файл string.h, который содержит функции для работы со строками.
  3. #define N 256 Определяется размер массива строк.
  4. #define DELIM \n\t,.;:?! Определяется разделитель, который используется для разделения строки на слова.
  5. int main() Определяется функция main(), которая является точкой входа в программу.
  6. int i; Объявляется переменная i, которая будет использоваться для цикла.
  7. char D[]=eEyYuUiIoOaA; Объявляется массив D, который содержит гласные буквы.
  8. *char str[N], p;** Объявляются переменные str и p.
    • str[N] Это массив, который будет использоваться для хранения введенной строки.
    • p Это указатель, который будет использоваться для перемещения по строке.
  9. puts(Enter line:); Выводится приглашение для ввода строки.
  10. fgets(str, N, stdin); Вводится строка с помощью функции fgets().
  11. for(p = strtok(str, DELIM); p; p = strtok(NULL, DELIM)){ Начинается цикл, который будет перебирать все слова в строке.
  12. for(i = 0; D[i]; i++){ Начинается внутренний цикл, который будет проверять каждое слово на наличие гласной буквы.
  13. *if (p == D[i] ){** Если текущая буква в слове совпадает с гласной, то выводится слово.
  14. puts(p); Выводится слово.
  15. break; Цикл прерывается, если найдено гласное слово.
  16. } Конец внутреннего цикла.
  17. } Конец внешнего цикла.
  18. return 0; Завершается функция main(). Список выделенных переменных и их значений:
  19. i - переменная для цикла, не имеет начального значения.
  20. D[] - массив гласных букв, содержит eEyYuUiIoOaA.
  21. str - массив для хранения введенной строки, содержит введенную строку.
  22. p - указатель для перемещения по строке, указывает на текущий символ в строке.

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


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

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

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