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.
C++
#include <bits/stdc++.h>
using
namespace
std;
void
printInitials(
const
string& name)
{
if
(name.length() == 0)
return
;
cout << (
char
)
toupper
(name[0]);
for
(
int
i = 1; i < name.length() - 1; i++)
if
(name[i] ==
' '
)
cout <<
" "
<< (
char
)
toupper
(name[i + 1]);
}
int
main()
{
string name =
"prabhat kumar singh"
;
printInitials(name);
return
0;
}
Java
class
initials {
static
void
printInitials(String name)
{
if
(name.length() ==
0
)
return
;
System.out.print(Character.toUpperCase(
name.charAt(
0
)));
for
(
int
i =
1
; i < name.length() -
1
; i++)
if
(name.charAt(i) ==
' '
)
System.out.print(
" "
+ Character.toUpperCase(
name.charAt(i +
1
)));
}
public
static
void
main(String args[])
{
String name =
"prabhat kumar singh"
;
printInitials(name);
}
}
Python
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()
C#
using
System;
class
initials {
static
void
printInitials(String name)
{
if
(name.Length == 0)
return
;
Console.Write(Char.ToUpper(name[0]));
for
(
int
i = 1; i < name.Length - 1; i++)
if
(name[i] ==
' '
)
Console.Write(
" "
+ Char.ToUpper(name[i + 1]));
}
public
static
void
Main()
{
String name =
"prabhat kumar singh"
;
printInitials(name);
}
}
PHP
<?php
function
printInitials(
$name
)
{
if
(
strlen
(
$name
) == 0)
return
;
echo
strtoupper
(
$name
[0]);
for
(
$i
= 1;
$i
<
strlen
(
$name
) - 1;
$i
++)
if
(
$name
[
$i
] ==
' '
)
echo
" "
.
strtoupper
(
$name
[
$i
+ 1]);
}
$name
=
"prabhat kumar singh"
;
printInitials(
$name
);
?>
Javascript
<script>
function
printInitials(name)
{
if
(name.length == 0)
return
;
document.write(name[0].toUpperCase());
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
Another possible solution is given as follows:
C++
#include <bits/stdc++.h>
using
namespace
std;
void
printInitials(string name)
{
if
(name.length() == 0)
return
;
stringstream X(name);
while
(getline(X, name,
' '
)) {
cout << (
char
)
toupper
(name[0])<<
" "
;
}
}
int
main()
{
string name =
"prabhat kumar singh"
;
printInitials(name);
return
0;
}
Java
class
initials {
static
void
printInitials(String name)
{
if
(name.length() ==
0
)
return
;
String words[] = name.split(
" "
);
for
(String word : words) {
System.out.print(Character.toUpperCase(word.charAt(
0
)) +
" "
);
}
}
public
static
void
main(String args[])
{
String name =
"prabhat kumar singh"
;
printInitials(name);
}
}
Python3
def
printInitials(name):
if
(
len
(name)
=
=
0
):
return
words
=
name.split(
" "
)
for
word
in
words:
print
(word[
0
].upper(), end
=
" "
)
if
__name__
=
=
'__main__'
:
name
=
"prabhat kumar singh"
printInitials(name)
C#
using
System;
public
class
initials {
static
void
printInitials(String name)
{
if
(name.Length == 0)
return
;
String []words = name.Split(
' '
);
foreach
(String word
in
words) {
Console.Write(
char
.ToUpper(word[0]) +
" "
);
}
}
public
static
void
Main(String []args)
{
String name =
"prabhat kumar singh"
;
printInitials(name);
}
}
Javascript
<script>
function
printInitials( name) {
if
(name.length == 0)
return
;
var
words = name.split(
" "
);
words.forEach(myFunction);
}
function
myFunction(item) {
document.write((item[0].toUpperCase()) +
" "
);
}
var
name =
"prabhat kumar singh"
;
printInitials(name);
</script>
Output:
P K S
The complexity of this code will be less than O(w) where w is number of words in sentence, which can be little better than number of characters in String. This code is contributed by Anuj Khasgiwala We can also use strtok() function in C/C++ to achieve this.
VIDEO
This article is contributed by Prabhat kumar singh . If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.