Определить, сколько слов начинаются с одной и той же буквы? - 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;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
i
- циклk
- счётчик словar
- строка, в которую вводится предложениеp
- пробелbykva
- буква, с которой сравниваются слова
- Выводится предложение ввести предложение и букву для проверки.
- Далее, с помощью функции
gets
вводится предложение. - Затем, с помощью функции
scanf
вводится буква для сравнения. - В цикле перебираются все символы в предложении.
- Если текущий символ равен введенной букве и предыдущий символ является пробелом, то к счётчику слов добавляется единица.
- В конце выводится количество слов, начинающихся с введенной буквы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д