Home »
C programs »
C string programs
C program to delete duplicate words in the string
Here, we are going to learn how to delete duplicate words in the string in C programming language?
Submitted by Nidhi, on July 17, 2021
Problem statement
Read a string from the user then delete duplicate words from the string using C program.
C program to delete duplicate words in the string
The source code to delete duplicate words in the string is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.
// C program to delete duplicate words in string
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[64];
char words[6][16];
int i = 0;
int j = 0;
int k = 0;
int l = 0;
printf("Enter string: ");
scanf("%[^\n]s", str);
while (str[i] != 0) {
if (str[i] == ' ') {
words[k][j] = '\0';
k++;
j = 0;
}
else {
words[k][j] = str[i];
j++;
}
i++;
}
words[k][j] = '\0';
j = 0;
for (i = 0; i < k; i++) {
int present = 0;
for (l = 1; l < k + 1; l++) {
if (words[l][j] == '\0' || l == i)
continue;
if (strcmp(words[i], words[l]) == 0) {
words[l][j] = '\0';
present = present + 1;
}
}
}
j = 0;
printf("Result is:\n");
for (i = 0; i < k + 1; i++) {
if (words[i][j] == 0)
continue;
else
printf("%s ", words[i]);
}
printf("\n");
return 0;
}
Output
RUN 1:
Enter string: Hello Hello World
Result is:
Hello World
RUN 2:
Enter string: This is is my Laptop Laptop
Result is:
This is my Laptop
RUN 3:
Enter string: Hello, World!
Result is:
Hello, World!
Explanation
In the main() function, we created a string str and read the value of str from the user. Then we removed the duplicate words from the string and printed the result on the console screen.
C String Programs »