Определить, сколько слов начинаются с одной и той же буквы? - 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
вводится буква для сравнения. - В цикле перебираются все символы в предложении.
- Если текущий символ равен введенной букве и предыдущий символ является пробелом, то к счётчику слов добавляется единица.
- В конце выводится количество слов, начинающихся с введенной буквы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д