Search This Blog
Welcome to 1printf(), your ultimate destination for C, C++, Linux, Data Structures, and Microcontroller programming! ๐ ๐นLearn advanced coding techniques in C& C++ ๐นMaster Linux internals & shell scripting ๐นDeep dive into Data Structures & Algorithms ๐นExplore Embedded Systems & Microcontrollers (8051,UART, RTOS) ๐นGet hands-on coding tutorials, project ideas,and interview preparation tips Whether you're a beginner or an experienced programmer, this channel will help you
Featured
- Get link
- X
- Other Apps
C program to sort words in a string based on their length
๐ท C Program: Sort Words in a String by Length
#include <stdio.h>
#include <string.h>
void sort(char words[][50], int count)
{
char temp[50];
for (int i = 0; i < count - 1; i++)
{
for (int j = i + 1; j < count; j++)
{
if (strlen(words[i]) > strlen(words[j]))
{
strcpy(temp, words[i]);
strcpy(words[i], words[j]);
strcpy(words[j], temp);
}
}
}
}
int main()
{
char str[200];
char words[50][50];
int count = 0;
printf("Enter a string:\n");
fgets(str, sizeof(str), stdin);
int len = strlen(str);
if (str[len - 1] == '\n')
{
str[len - 1] = '\0';
}
char *token = strtok(str, " ");
while (token != NULL)
{
strcpy(words[count++], token);
token = strtok(NULL, " ");
}
sort(words, count);
for (int i = 0; i < count; i++)
{
printf("%s ", words[i]);
}
printf("\n");
return 0;
}
๐ Explanation:
This program sorts the words in a given string **based on their lengths** using arrays and string manipulation functions in C.
๐น The input string is first taken using `fgets()` to safely read multi-word input.
๐น A newline character (`\n`) at the end is replaced with `\0` to clean the input.
๐น The `strtok()` function is used to **tokenize** the string by spaces into individual words, which are stored in a 2D array `words`.
๐น The `sort()` function uses **nested loops** to compare the length of each word using `strlen()`:
- If one word is longer than the other, they are swapped using `strcpy()` and a temporary buffer.
๐น After sorting, the words are printed in increasing order of their lengths.
๐ Sample Output:
Enter a string:
i love programming in C
i in C love programming
๐ท️ Keywords:
C string sorting, C program for sorting words, strtok usage in C, sort by word length, 2D array string sort, beginner C string program
Popular Posts
C++ Program for Hybrid Inheritance (All Types Together)
- Get link
- X
- Other Apps
C++ Program for Function Overloading Example
- Get link
- X
- Other Apps
Comments
Post a Comment