Подсчитать количество букв k в последнем слове - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! В С я не бум-бум.

Задание следующее:

Подсчитать количество букв k в последнем слове.

Моя программа на паскале:

Var s,s1:string;
    i,k:byte;
Begin
    write('Введите строку: ');readln(s);
    k:=0;s1:='';
    For i:=Length(s) downto 1 do
     if not(s[i] in [' ',',','-']) then s1:=s1+s[i]
      else break;
    For i:=1 to Length(s1) do
     if s1[i]='k' then inc(k);
    if k>0 then write('В последнем слове букв "k"= ',k)
     else write('В последнем слове буква "k" не встречаются');
End.
Вроде я нашла похожую программу, но не уверенна:
int calchar( char* str, char tok = '\0' )
{
    char* ptr = str;
    while( *(++ptr) );
    while( *(--ptr) == ' ' );
 
    int ncount = 0;
    do
    {
    if( tok && *ptr != tok )
        continue;
    ncount++;
    } while( *ptr-- != ' ' && ptr != (str - 1) );
 
    return ncount;
}

Решение задачи: «Подсчитать количество букв k в последнем слове»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main() {
    const char CDelim[] = " ,.-?!";
    char text[256];
    int i, k = 0;
 
    printf("input text: ");
    fgets(text, sizeof(text), stdin);
 
    for (i = strlen(text) - 1; (0 <= i) && (strchr(CDelim, text[i]) == NULL); --i) {
        ;
    }
 
    for (++i; i < strlen(text); ++i) {
        if (text[i] == 'k') {
            k++;
        }
    }
 
    if (k > 0) {
        printf("'k' = %d\n", k);
    }
    else {
        printf("'k' not found ...\n");
    }
 
    return 0;
}

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

Вывод:

  1. Вводится строка текста с помощью функции fgets().
  2. Два цикла обходят введенный текст. Первый цикл:
    • Перебирает символы в обратном порядке (от последнего до первого).
    • Проверяет каждый символ на наличие в строке разделения.
    • Если символ не является разделителем, то он игнорируется. Второй цикл:
    • Перебирает символы в прямом порядке (от начала до конца).
    • Если символ равен 'k', то увеличивается счетчик.
  3. Выводится количество найденных 'k'.
  4. Если 'k' не найдено, выводится сообщение об этом.

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


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

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

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