# Find the Batting Average of a batsman

• Difficulty Level : Basic
• Last Updated : 05 Apr, 2021

Given three integers runs, matches, and not-out representing the number of runs scored, number of innings played by the batsman and number of times he remained Not Out respectively, the task is to calculate the Batting Average of the batsman.

where

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Note: If the batsman was never dismissed, print “NA” as the no average can be defined.

Examples:

Input: runs = 10000, matches = 250, not-out = 50
Output: 50
Explanation:
Number of times batsman was dismissed = 250 – 50 = 200
Batting Average = 10000 / 200 = 50.

Input: runs = 100, matches = 1, not-out = 1
Output: NA

Approach:
Follow the steps below to solve the problem:

1. Calculate the number of dismissals, equal to matches – notout.
2. Calculate the Batting Average, equal to runs/ (matches – notout).

Below is the implementation of the above approach:

## C++

 // C++ program to calculate// the average of a batsman#include using namespace std; // Function to find the average// of a batsmandouble averageRuns(int runs,                   int matches,                   int notout){    // Calculate number of    // dismissals    int out = matches - notout;     // check for 0 times out    if (out == 0)        return -1;     // Calculate batting average    double avg = double(runs) / out;     return avg;} // Driver Programint main(){    int runs = 10000;    int matches = 250;    int notout = 50;     double avg        = averageRuns(            runs, matches, notout);     if (avg == -1)        cout << "NA";    else        cout << avg;     return 0;}

## Java

 // Java program to calculate// the average of a batsmanclass GFG{     // Function to find the average// of a batsmanstatic int averageRuns(int runs,                       int matches,                       int notout){         // Calculate number of    // dismissals    int out = matches - notout;     // Check for 0 times out    if (out == 0)        return -1;     // Calculate batting average    int avg = (runs) / out;     return avg;} // Driver codepublic static void main(String[] args){    int runs = 10000;    int matches = 250;    int notout = 50;     int avg = averageRuns(runs, matches,                                notout);    if (avg == -1)        System.out.print("NA");    else        System.out.print(avg);}} // This code is contributed by Ritik Bansal

## Python3

 # Python3 program to calculate# the average of a batsman # Function to find the average# of a batsmandef averageRuns(runs, matches, notout):     # Calculate number of    # dismissals    out = matches - notout;     # check for 0 times out    if (out == 0):        return -1;     # Calculate batting average    avg = runs // out;     return avg; # Driver Programruns = 10000;matches = 250;notout = 50; avg = averageRuns(runs, matches, notout); if (avg == -1):    print("NA");else:    print(avg); # This code is contributed by Akanksha_rai

## C#

 // C# program to calculate// the average of a batsmanusing System;class GFG{      // Function to find the average// of a batsmanstatic int averageRuns(int runs,                       int matches,                       int notout){          // Calculate number of    // dismissals    int out1;    out1 = matches - notout;      // Check for 0 times out    if (out1 == 0)        return -1;      // Calculate batting average    int avg = (runs) / out1;      return avg;}  // Driver codepublic static void Main (string[] args){    int runs = 10000;    int matches = 250;    int notout = 50;      int avg = averageRuns(runs, matches,                                notout);    if (avg == -1)        Console.Write("NA");    else        Console.Write(avg);}}  // This code is contributed by rock_cool

## Javascript

 
Output:
50

Time Complexity: O(1)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up