Find the largest and smallest word in a string

C program to find the largest and smallest word in a string.

Program

#include<stdio.h>
#include<conio.h>
#include<string.h>
#define MAX 50

int split_words(char str[MAX], char words[MAX][MAX])
{
    int i, j, count;
    char prev_char;

    i = 0;
    j = 0;
    count = 0;
    prev_char = '\0';

    while(1)
    {
        if(str[i] == ' ' || str[i] == '\t' || str[i] == '\0')
        {
            if(prev_char!=' ' && prev_char!='\t' && prev_char!='\0')
            {
                words[count][j] = '\0';
                count++;
                j = 0;
            }

        }
        else
        {
            words[count][j] = str[i];
            j++;
        }
        prev_char = str[i];
        if(str[i] == '\0')
            break;
        else
            i++;
    }

    return(count);
}

void main()
{
	char str[MAX];
    char words[MAX][MAX];
    int count, i, j;
    int max_len, min_len;

    printf("Enter the string\t:");
    gets(str);

    count = split_words(str, words);

    max_len = strlen(words[0]);
    min_len = strlen(words[0]);

    for(i=0;i<count;i++)
    {
        if(strlen(words[i]) < min_len)
        {
            min_len = strlen(words[i]);
        }
        if(strlen(words[i]) > max_len)
        {
            max_len = strlen(words[i]);
        }
    }

    printf("\nsmallest word in the string\t:");
    for(i=0;i<count;i++)
    {
        if(strlen(words[i]) == min_len)
        {
            printf("%s\t",words[i]);
        }
    }

    printf("\nlargest word in the string\t:");
    for(i=0;i<count;i++)
    {
        if(strlen(words[i]) == max_len)
        {
            printf("%s,\t",words[i]);
        }
    }

    getch();
}

Output

Enter the string        :this is a test string happy coding

smallest word in the string     :a
largest word in the string      :string,        coding,