程序找到最小和最大的单词

时间:2013-03-11 10:18:44

标签: c string

这是K.N.的一个例子。在一系列单词中找到最小和最大单词并在单词长度为4时停止的国王书。但它无法正常工作。

#include <stdio.h>
#include <string.h>

#define N 20


int main(void) {
    char smallest_word[N];
    char largest_word[N];
    char current_word[N];
    printf("Enter word: ");
    gets(current_word);
    strcpy(smallest_word, strcpy(largest_word, current_word));
    while(strlen(current_word) != 4){
        printf("Enter word: ");
        gets(current_word);
        if(strcmp(current_word, smallest_word) < 0)
            strcpy(smallest_word, current_word);
        if(strcmp(current_word, largest_word) > 0)
            strcpy(largest_word, current_word);

    } 
    printf("\nSmallest word: %s\n", smallest_word);
    printf("Largest word: %s\n", largest_word);
    return 0;
}

假设我输入:

cat 
dog 
catfish
bear

给出

Output:
Smallest Word: bear
Largest Word: dog

我认为这是错误的。

1 个答案:

答案 0 :(得分:5)

如果我们安排lexicographic order中的四个单词,我们会得到:

  • cat
  • 鲶鱼

因此输出看起来正确(“熊”是第一个,“狗”是最后一个)。