Program to calculate Percentile of Students

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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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


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



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.