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:

## CPP

`// C++ program to calculate Percentile of Students ` ` ` `#include <bits/stdc++.h> ` `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; ` `} ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

**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.