Program to find the initials of a name.
Given a string name, we have to find the initials of the name
Examples:
Input : prabhat kumar singh Output : P K S We take the first letter of all words and print in capital letter. Input : Jude Law Output : J L Input : abhishek kumar singh Output : A K S
- Print first character in capital.
- Traverse rest of the string and print every character after space in capital letter.
Implementation:
C++
// C++ program to print initials of a name #include <bits/stdc++.h> using namespace std; void printInitials( const string& name) { if (name.length() == 0) return ; // Since toupper() returns int, we do typecasting cout << ( char ) toupper (name[0]); // Traverse rest of the string and print the // characters after spaces. for ( int i = 1; i < name.length() - 1; i++) if (name[i] == ' ' ) cout << " " << ( char ) toupper (name[i + 1]); } // Driver code int main() { string name = "prabhat kumar singh" ; printInitials(name); return 0; } |
Java
// Java program to print initials of a name import java.io.*; class initials { static void printInitials(String name) { if (name.length() == 0 ) return ; // Since toupper() returns int, // we do typecasting System.out.print(Character.toUpperCase( name.charAt( 0 ))); // Traverse rest of the string and // print the characters after spaces. for ( int i = 1 ; i < name.length() - 1 ; i++) if (name.charAt(i) == ' ' ) System.out.print( " " + Character.toUpperCase( name.charAt(i + 1 ))); } // Driver code public static void main(String args[]) { String name = "prabhat kumar singh" ; printInitials(name); } } // This code is contributed by Danish Kaleem |
Python
# Python program to print # initials of a name # user define function def printInitials(name): if ( len (name) = = 0 ): return print (name[ 0 ].upper()), for i in range ( 1 , len (name) - 1 ): if (name[i] = = ' ' ): print (name[i + 1 ].upper()), def main(): name = "Prabhat Kumar Singh" printInitials(name) if __name__ = = "__main__" : main() # This code is contributed # by prabhat kumar singh |
C#
// C# program to print initials of a name using System; class initials { static void printInitials(String name) { if (name.Length == 0) return ; // Since toupper() returns int, // we do typecasting Console.Write(Char.ToUpper(name[0])); // Traverse rest of the string and // print the characters after spaces. for ( int i = 1; i < name.Length - 1; i++) if (name[i] == ' ' ) Console.Write( " " + Char.ToUpper(name[i + 1])); } // Driver code public static void Main() { String name = "prabhat kumar singh" ; printInitials(name); } } // This code is contributed by nitin mittal. |
PHP
<?php // php program to print initials of a name function printInitials( $name ) { if ( strlen ( $name ) == 0) return ; // Since toupper() returns int, we do typecasting echo strtoupper ( $name [0]); // Traverse rest of the string and print the // characters after spaces. for ( $i = 1; $i < strlen ( $name ) - 1; $i ++) if ( $name [ $i ] == ' ' ) echo " " . strtoupper ( $name [ $i + 1]); } // Driver code $name = "prabhat kumar singh" ; printInitials( $name ); // This code is contributed by Sam007 ?> |
Javascript
<script> // Javascript program to print initials of a name function printInitials(name) { if (name.length == 0) return ; // Since toupper() returns int, // we do typecasting document.write(name[0].toUpperCase()); // Traverse rest of the string and // print the characters after spaces. for (let i = 1; i < name.length - 1; i++) if (name[i] == ' ' ) document.write( " " + name[i + 1].toUpperCase()); } let name = "prabhat kumar singh" ; printInitials(name); </script> |
Output
P K S
Time Complexity: O(n), Here n is the length of the string.
Auxiliary Space: O(1), As constant extra space is used.
Another possible solution is given as follows:
C++
// C++ program to solve the above approach #include <bits/stdc++.h> using namespace std; void printInitials(string name) { if (name.length() == 0) return ; // split the string using 'space' // and print the first character of every word stringstream X(name); // X is an object of stringstream // that references the S string // use while loop to check the getline() function // condition while (getline(X, name, ' ' )) { /* X represents to read the string from stringstream, T use for store the token string and, ' ' whitespace represents to split the string where whitespace is found. */ cout << ( char ) toupper (name[0])<< " " ; // print split string } } // Driver code int main() { string name = "prabhat kumar singh" ; printInitials(name); return 0; } // This code is contributed by gauravrajput1 |
Java
// Java program to print initials of a name import java.io.*; class initials { static void printInitials(String name) { if (name.length() == 0 ) return ; //split the string using 'space' //and print the first character of every word String words[] = name.split( " " ); for (String word : words) { System.out.print(Character.toUpperCase(word.charAt( 0 )) + " " ); } } // Driver code public static void main(String args[]) { String name = "prabhat kumar singh" ; printInitials(name); } } |
Python3
# Python3 program to print initials of a name def printInitials(name): if ( len (name) = = 0 ): return # Split the string using 'space' # and print the first character of # every word words = name.split( " " ) for word in words: print (word[ 0 ].upper(), end = " " ) # Driver code if __name__ = = '__main__' : name = "prabhat kumar singh" printInitials(name) # This code is contributed by mohit kumar 29 |
C#
// C# program to print initials of a name using System; public class initials { static void printInitials(String name) { if (name.Length == 0) return ; //split the string using 'space' //and print the first character of every word String []words = name.Split( ' ' ); foreach (String word in words) { Console.Write( char .ToUpper(word[0]) + " " ); } } // Driver code public static void Main(String []args) { String name = "prabhat kumar singh" ; printInitials(name); } } // This code is contributed by gauravrajput1 |
Javascript
<script> // javascript program to print initials of a name function printInitials( name) { if (name.length == 0) return ; // split the string using 'space' // and print the first character of every word var words = name.split( " " ); words.forEach(myFunction); } function myFunction(item) { document.write((item[0].toUpperCase()) + " " ); } // Driver code var name = "prabhat kumar singh" ; printInitials(name); // This code is contributed by gauravrajput1 </script> |
Output
P K S
The time complexity of this code will be less than O(N) where N is number of words in sentence, which can be little better than number of characters in String.
Space Complexity: O(N), where N is the length of the string. We need to store the entire string in the stringstream object.
This code is contributed by Anuj Khasgiwala
We can also use strtok() function in C/C++ to achieve this.