Open In App

Program to find the initials of a name.

Improve
Improve
Like Article
Like
Save
Share
Report

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
  1. Print first character in capital. 
  2. 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. 

 



Last Updated : 31 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads