Прочитать текст из файла и вывести наибольшее слово - C (СИ)

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

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

Программа читает текст и выводит наибольшее слово. Используйте функции strcmp(), strcpy().

как работает функция strcpy()?

Решение задачи: «Прочитать текст из файла и вывести наибольшее слово»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int len_desc_cmp(const void * a, const void * b){
    return strlen(*(char**)b) - strlen(*(char**)a);
}
 
#define DELIM " \t\n"
#define MAX_WORDS 128
 
int main(void){
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
        char * words[MAX_WORDS], * p;
        size_t count, i;
        
        for ( count = 0, p = strtok(buf, DELIM); p != NULL && count < MAX_WORDS; p = strtok(NULL, DELIM), ++count )
            words[count] = p;
            
        qsort(words, count, sizeof(char*), len_desc_cmp);
        
        printf("Words by length descendant:\n");
        for ( i = 0; i < count; ++i )
            printf("%s\n", words[i]);
    }
    
    return 0;
}

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


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

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

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