Найти количество слов, у которых первая и последняя буква совпадают между собой - 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;
}

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

В этом коде:

  1. Объявлены переменные:
    • strings_count - счётчик количества строк, которые нужно обработать.
    • result - переменная для хранения количества найденных строк.
    • i - счётчик итераций цикла.
    • string - массив для хранения строки, вводимой пользователем.
  2. С помощью функции printf выводится сообщение с просьбой ввести количество строк.
  3. С помощью функции scanf в переменную strings_count считывается введённое пользователем значение.
  4. Цикл for проходит по всем строкам, введённым пользователем.
  5. В каждой итерации цикла:
    • Выводится сообщение >>.
    • С помощью функции fgets в массив string считывается строка, введённая пользователем.
    • Если строка пустая (введён перевод строки), то это считается как ввод пустой строки и действие прерывается.
    • С помощью функции strchr определяется первый символ новой строки в считанной строке.
    • Если первый символ новой строки не равен 0 (т.е. строка не пустая), то проверяется условие string[0] == string[strlen(string) - 1]. Если это условие истинно, то увеличивается счётчик result.
  6. По завершении цикла выводится количество найденных строк.
  7. Программа возвращает 0, т.е. завершается успешно.

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


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

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

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