Related Articles
Program to calculate Percentile of Students
• Last Updated : 21 Apr, 2021

Given an array containing marks of students, the task is to calculate the percentile of the students. The percentile is calculated according to the following rule:

The percentile of a student is the % of the number of students having marks less than him/her.

Examples:

Input: arr[] = { 12, 60, 80, 71, 30 }
Output: { 0, 50, 100, 75, 25 }
Explanation:
Percentile of Student 1 = 0/4*100 = 0 (out of other 4 students no one has marks less than this student)
Percentile of Student 2 = 2/4*100 = 50 (out of other 4 students, 2 have marks less than this student)
Percentile of Student 3 = 4/4*100 = 100 (out of other 4 students, all 4 have marks less than this student)
Percentile of Student 4 = 3/4*100 = 75 (out of other 4 students, 3 have marks less than this student)
Percentile of Student 5 = 1/4*100 = 25 (out of other 4 students only 1 has marks less than this student)

Approach:

• So basically, the percentile is a number where a certain percentage of scores fall below that number.

• For example: If in an examination a student’s percentile is 75 then it means that the student has scored more than 75% of students who took the test.

• Now, in order to calculate percentile we have the following formula:
PERCENTILE = (NUMBER OF STUDENTS WHO SCORED BELOW OR EQUAL TO THE DESIRED STUDENT/ TOTAL NUMBER OF STUDENTS – 1) * 100

Below is the implementation of the above approach:

## C++

 `// C++ program to calculate Percentile of Students` `#include ``using` `namespace` `std;` `// Function to calculate the percentile``void` `percentile(``int` `arr[], ``int` `n)``{``    ``int` `i, j, count, percent;` `    ``// Start of the loop that calculates percentile``    ``for` `(i = 0; i < n; i++) {` `        ``count = 0;``        ``for` `(``int` `j = 0; j < n; j++) {` `            ``// Comparing the marks of student i``            ``// with all other students``            ``if` `(arr[i] > arr[j]) {``                ``count++;``            ``}``        ``}``        ``percent = (count * 100) / (n - 1);` `        ``cout << ``"\nPercentile of Student "``             ``<< i + 1 << ``" = "` `<< percent;``    ``}``}` `// Driver Code``int` `main()``{``    ``int` `StudentMarks[] = { 12, 60, 80, 71, 30 };``    ``int` `n = ``sizeof``(StudentMarks) / ``sizeof``(StudentMarks[0]);``    ``percentile(StudentMarks, n);` `    ``return` `0;``}`

## Java

 `// Java program to calculate Percentile of Students``class` `GFG``{` `    ``// Function to calculate the percentile``    ``static` `void` `percentile(``int` `arr[], ``int` `n)``    ``{``        ``int` `i, count, percent;` `        ``// Start of the loop that calculates percentile``        ``for` `(i = ``0``; i < n; i++)``        ``{` `            ``count = ``0``;``            ``for` `(``int` `j = ``0``; j < n; j++)``            ``{` `                ``// Comparing the marks of student i``                ``// with all other students``                ``if` `(arr[i] > arr[j])``                ``{``                    ``count++;``                ``}``            ``}``            ``percent = (count * ``100``) / (n - ``1``);` `            ``System.out.print(``"\nPercentile of Student "``            ``+ (i + ``1``) + ``" = "` `+ percent);``        ``}``    ``}` `    ``// Driver Code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int``[] StudentMarks = { ``12``, ``60``, ``80``, ``71``, ``30` `};``        ``int` `n = StudentMarks.length;``        ``percentile(StudentMarks, n);``    ``}``}` `// This code is contributed by Rajput-Ji`

## Python

 `# Python3 program to calculate Percentile of Students` `# Function to calculate the percentile``def` `percentile(arr, n):``    ``i, j ``=` `0``, ``0``    ``count, percent ``=` `0``, ``0` `    ``# Start of the loop that calculates percentile``    ``while` `i < n:` `        ``count ``=` `0``        ``j ``=` `0``        ``while` `j < n:` `            ``# Comparing the marks of student i``            ``# with all other students``            ``if` `(arr[i] > arr[j]):``                ``count ``+``=` `1``            ``j ``+``=` `1``        ``percent ``=` `(count ``*` `100``) ``/``/` `(n ``-` `1``)` `        ``print``(``"Percentile of Student "``, i ``+` `1``,``" = "``, percent)``        ``i ``+``=` `1` `# Driver Code` `StudentMarks ``=` `[``12``, ``60``, ``80``, ``71``, ``30``]``n ``=` `len``(StudentMarks)``percentile(StudentMarks, n)` `# This code is contributed by mohit kumar 29`

## C#

 `// C# program to calculate Percentile of Students``using` `System;` `class` `GFG``{` `    ``// Function to calculate the percentile``    ``static` `void` `percentile(``int` `[]arr, ``int` `n)``    ``{``        ``int` `i, count, percent;` `        ``// Start of the loop that calculates percentile``        ``for` `(i = 0; i < n; i++)``        ``{``            ``count = 0;``            ``for` `(``int` `j = 0; j < n; j++)``            ``{` `                ``// Comparing the marks of student i``                ``// with all other students``                ``if` `(arr[i] > arr[j])``                ``{``                    ``count++;``                ``}``            ``}``            ``percent = (count * 100) / (n - 1);` `            ``Console.Write(``"\nPercentile of Student "``            ``+ (i + 1) + ``" = "` `+ percent);``        ``}``    ``}` `    ``// Driver Code``    ``public` `static` `void` `Main()``    ``{``        ``int``[] StudentMarks = {12, 60, 80, 71, 30};``        ``int` `n = StudentMarks.Length;``        ``percentile(StudentMarks, n);``    ``}``}` `// This code is contributed by AnkitRai01`

## Javascript

 ``
Output:
```Percentile of Student 1 = 0
Percentile of Student 2 = 50
Percentile of Student 3 = 100
Percentile of Student 4 = 75
Percentile of Student 5 = 25```

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer DSA Live Classes

My Personal Notes arrow_drop_up