C program to swap adjacent characters of a String
Given a string str, the task is to swap adjacent characters of this string in C.
Examples:
Input: str = "geeks" Output: NA Not possible as the string length is odd Input: str = "geek" Output: egke
Approach:
- Check if the length of the string is even or odd.
- If the length is odd, swapping cannot be done.
- If the length is even, take each character of the string one by one and swap it with the adjacent character.
Below is the implementation of the above approach:
// C program to swap // adjacent characters of a String #include <stdio.h> #include <string.h> // Function to swap adjacent characters void swap( char * str) { char c = 0; int length = 0, i = 0; // Find the length of the string length = strlen (str); // Check if the length of the string // is even or odd if (length % 2 == 0) { // swap the characters with // the adjacent character for (i = 0; i < length; i += 2) { c = str[i]; str[i] = str[i + 1]; str[i + 1] = c; } // Print the swapped character string printf ( "%s\n" , str); } else { // Print NA as the string length is odd printf ( "NA\n" ); } } // Driver code int main() { // Get the string char str1[] = "Geek" ; char str2[] = "Geeks" ; swap(str1); swap(str2); return 0; } |
Output:
eGke NA
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.