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