Найти количество слов, у которых первая и последняя буква совпадают между собой - C (СИ)
Формулировка задачи:
Дано n,S1...Sn найти кол - во слов у которых первая и последняя буква совпадают между собой .
Помогите исправить ошибки.
Листинг программы
- #include <string.h>
- #include <stdio.h>
- #include <conio.h>
- int i,j,n,k,x;
- char s[100];
- void main()
- { clrscr();
- printf(" n = ");
- scanf("%d",&n);
- printf(" TEKСT: ");
- for (j=0; j<n; j++)
- {
- scanf("%c",&s[j]);
- }
- i=1;
- k=0;
- while (i<=strlen(s))
- {
- x=i;
- while (s[j]!=' ' && i<=strlen(s)) i++;
- if (s[x]==s[i-1]) k++;
- while (s[j]==' ' && i<=strlen(s)) i++;
- }
- printf(" KOL - BO CLOB: %d",k);
- getch();
- }
Решение задачи: «Найти количество слов, у которых первая и последняя буква совпадают между собой»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main(void)
- {
- size_t strings_count = 0;
- size_t result = 0;
- size_t i;
- char string[BUFSIZ];
- printf("Count: ");
- scanf("%u", &strings_count);
- fflush(stdin);
- for (i = 0; i < strings_count; i++)
- {
- printf(">>");
- *strchr(fgets(string, BUFSIZ, stdin), '\n') = 0;
- if (*string != 0 && string[0] == string[strlen(string) - 1])
- ++result;
- }
- printf("%u\n", result);
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
strings_count
- счётчик количества строк, которые нужно обработать.result
- переменная для хранения количества найденных строк.i
- счётчик итераций цикла.string
- массив для хранения строки, вводимой пользователем.
- С помощью функции
printf
выводится сообщение с просьбой ввести количество строк. - С помощью функции
scanf
в переменнуюstrings_count
считывается введённое пользователем значение. - Цикл
for
проходит по всем строкам, введённым пользователем. - В каждой итерации цикла:
- Выводится сообщение
>>
. - С помощью функции
fgets
в массивstring
считывается строка, введённая пользователем. - Если строка пустая (введён перевод строки), то это считается как ввод пустой строки и действие прерывается.
- С помощью функции
strchr
определяется первый символ новой строки в считанной строке. - Если первый символ новой строки не равен 0 (т.е. строка не пустая), то проверяется условие
string[0] == string[strlen(string) - 1]
. Если это условие истинно, то увеличивается счётчикresult
.
- Выводится сообщение
- По завершении цикла выводится количество найденных строк.
- Программа возвращает 0, т.е. завершается успешно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д