w3resource
C Programming Exercises

C Programming: Find the largest and smallest word in a string

C String: Exercise-20 with Solution

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

C Programming: Find the largest and  smallest word in a string

Sample Solution:

C Code:

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

void main()
{
    char str[100], word[20], mx[20], mn[20], c;
    int i = 0, j = 0, flg = 0;
	
       printf("\n\nFind the largest and  smallest word in a string :\n");
       printf("-----------------------------------------------------\n");		
 
	printf("Input the string : ");
    i = 0;
    do
    {
        fflush(stdin);
        c = getchar();
        str[i++] = c;
 
    } while (c != '\n');
    str[i - 1] = '\0';
    for (i = 0; i < strlen(str); i++)
    {
        while (i < strlen(str) && !isspace(str[i]) && isalnum(str[i]))
        {
            word[j++] = str[i++];
        }
        if (j != 0)
        {
            word[j] = '\0';
            if (!flg)
            {
                flg = !flg;
                strcpy(mx, word);
                strcpy(mn, word);
            }
            if (strlen(word) > strlen(mx))
            {
                strcpy(mx, word);
            }
            if (strlen(word) < strlen(mn))
            {
                strcpy(mn, word);
            }
            j = 0;
        }
    }
    printf("The largest word is '%s' \nand the smallest word is '%s' \nin the string : '%s'.\n", mx, mn, str);
 }

Sample Output:

Find the largest and  smallest word in a string :                                                                             
-----------------------------------------------------                                                                         
Input the string : It is a string with smallest and largest word.                                                              
The largest word is 'smallest'                                                                                                
and the smallest word is 'a'                                                                                                  
in the string : 'It is a string with smallest and largest word'.

Flowchart :

Flowchart: Find the largest and  smallest word in a string

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a program in C to Concatenate Two Strings Manually.
Next: Write a program in C to convert a string to uppercase.

What is the difficulty level of this exercise?