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

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

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

Заданно предложение, слова в нем разделены пробелом, подсчитать, сколько букв и цифр в последнем слове. Помогите написать программу пожалуйста:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
 main()
{
setlocale (LC_ALL,"RUS");
 
// ниже нужно написать код для подсчета сколько букв и цифр в последнем слове

_getch();
return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
char* get_last_word(char* string) {
    char *pointer = strrchr(string, ' ');
    char* word = "";
 
    if (pointer && *(pointer + 1)) {
        printf("SRC: %s\n", pointer + 1);
 
        word = pointer + 1;
    }
 
    return word;
}
 
int get_count_digit(char* string) {
    int count = 0;
    int i = 0;
 
    for (i = 0; string[i] != '\0'; ++i) {
        if (string[i] >= '0' && string[i] <= '9') {
            ++count;
        }
    }
 
    return count;
}
 
int get_count_characters(char* string) {
    int count = 0;
    int i = 0;
 
    for (i = 0; string[i] != '\0'; ++i) {
        if ((string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z')) {
            ++count;
        }
    }
 
    return count;
}
 
int main(int argc, char **argv) {
    char string[] = "I have many good 1nt3g3r!";
 
    char* word = get_last_word(string);
 
    printf("DST: %s\n", word);
 
    printf("Count digits: %d\n", get_count_digit(word));
    printf("Count characters: %d\n", get_count_characters(word));
 
    return 0;
}

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

  1. В функции get_last_word определяется указатель на последнее слово в строке.
  2. Если последнее слово не пустое, то оно выделяется в отдельную переменную word.
  3. В функции get_count_digit подсчитывается количество цифр в строке.
  4. В функции get_count_characters подсчитывается количество букв в строке.
  5. В функции main определяется входная строка.
  6. Вызывается функция get_last_word для получения последнего слова из строки.
  7. Выводится последнее слово.
  8. Вызывается функция get_count_digit для подсчета количества цифр в последнем слове.
  9. Вызывается функция get_count_characters для подсчета количества букв в последнем слове.
  10. Программа возвращает 0, заканчивая свое выполнение.

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


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

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

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