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

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

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

Помогите пожалуйста найти ошибку в программе Сколько слов начинаются с одной и той же буквы?
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int i , k = 0 ;
    char ar[100] ;
    char p = ' '  ;
    char bykva;
    printf("Vvedite predlozhenie\n") ;
    scanf("%c",&ar) ;
    gets (ar);
    printf ("vvedite bukvu\n");
    scanf ("%c" ,&bykva);
    for (i=0 ; i < 100 ; ++i ){
 
        if ( ((ar[i]==bykva) && (ar [i-1] == p) && (i>0)) || (i==0 && ar[i] == bykva )  ){ k+=1; }
    }
    printf( "Kol-vo slov = %d" , k ) ;
    return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    int i , k = 0 ;
    char ar[100] ;
    char p = ' ';
    char bykva;
    printf("Vvedite predlozhenie\n") ;
    gets (ar);
    printf ("vvedite bukvu\n");
    scanf ("%c" ,&bykva);
    for (i=0 ; i < strlen(ar) ; ++i )
    {
        if(ar[i] == bykva && (i == 0 || ar[i-1] == p))
        {
            k+=1;
        }
    }
    printf( "Kol-vo slov = %d" , k ) ;
    return 0;
}

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

В этом коде:

  1. Объявлены переменные:
    • i - цикл
    • k - счётчик слов
    • ar - строка, в которую вводится предложение
    • p - пробел
    • bykva - буква, с которой сравниваются слова
  2. Выводится предложение ввести предложение и букву для проверки.
  3. Далее, с помощью функции gets вводится предложение.
  4. Затем, с помощью функции scanf вводится буква для сравнения.
  5. В цикле перебираются все символы в предложении.
  6. Если текущий символ равен введенной букве и предыдущий символ является пробелом, то к счётчику слов добавляется единица.
  7. В конце выводится количество слов, начинающихся с введенной буквы.

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


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

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

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