В строке из символов сосчитать число слов состоящих из разных букв? - C (СИ)

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

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

В строке из символов сосчитать число слов состоящих из разных букв?СИ

Решение задачи: «В строке из символов сосчитать число слов состоящих из разных букв?»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int unique_chars(const char * s) {
    return ( *s ) ? ( strchr(s + 1, *s) ) ? 0 : unique_chars(s + 1) : 1;
}
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        int count = 0;
        char * word = strtok(buf, DELIM);
        
        for ( ; word; word = strtok(NULL, DELIM) ) {
            if ( unique_chars(word) ) {
                printf("%s\n", word);
                ++count;
            }
        }
        printf("%d words with unique characters.\n", count);
    }
    
    return 0;
}

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

В этом коде реализована функция unique_chars, которая принимает строку и возвращает 1, если первый символ этой строки уникален (не встречается в остальной части строки), и 0 в противном случае. Функция main считывает строку из стандартного ввода до тех пор, пока пользователь не введет пустую строку. Затем она разбивает эту строку на слова, используя пробелы, табы и переносы строк в качестве разделителей. Для каждого слова в этой строке функция main вызывает функцию unique_chars, чтобы проверить, содержит ли это слово уникальные символы. Если это так, слово выводится на экран, и счетчик count увеличивается на 1. После обработки всех слов в строке функция main выводит количество слов с уникальными символами. Символы #include <stdio.h>, #include <string.h>, #define DELIM \t\n` иint main(void)` - это заголовочный код, который подключает необходимые библиотеки и определяет константу, используемую в коде.

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


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

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

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