ICSE Class 10 Computer Applications Question 21 of 59

Arrays — Question 23

Back to all questions
23
Question

Question 23

The annual examination result of 50 students in a class is tabulated in a Single Dimensional Array (SDA) as follows:

Roll No.Subject ASubject BSubject C
............................
............................
............................

Write a program to read the data, calculate and display the following:
(a) Average marks obtained by each student.
(b) Print the roll number and the average marks of the students whose average is above. 80.
(c) Print the roll number and the average marks of the students whose average is below 40.

Answer
import java.util.Scanner;

public class KboatExamResult
{
    public static void main(String args[]) {
        final int TOTAL_STUDENTS = 50;
        Scanner in = new Scanner(System.in);
        
        int rollNo[] = new int[TOTAL_STUDENTS];
        int sA[] = new int[TOTAL_STUDENTS];
        int sB[] = new int[TOTAL_STUDENTS];
        int sC[] = new int[TOTAL_STUDENTS];
        double avg[] = new double[TOTAL_STUDENTS];
        
        for (int i = 0; i < TOTAL_STUDENTS; i++) {
            System.out.println("Enter student " + (i+1) + " details:");
            System.out.print("Roll No: ");
            rollNo[i] = in.nextInt();
            System.out.print("Subject A Marks: ");
            sA[i] = in.nextInt();
            System.out.print("Subject B Marks: ");
            sB[i] = in.nextInt();
            System.out.print("Subject C Marks: ");
            sC[i] = in.nextInt();
            avg[i] = (sA[i] + sB[i] + sC[i]) / 3.0;
        }
        
        System.out.println("\nRoll No\tAverage Marks");
        for (int i = 0; i < TOTAL_STUDENTS; i++) {
            System.out.println(rollNo[i] + "\t" + avg[i]);
        }
        
        System.out.println("\nStudents with Average above 80:");
        for (int i = 0; i < TOTAL_STUDENTS; i++) {
            if (avg[i] > 80)
                System.out.println(rollNo[i] + "\t" + avg[i]);
        }
        
        System.out.println("\nStudents with Average below 40:");
        for (int i = 0; i < TOTAL_STUDENTS; i++) {
            if (avg[i] < 40)
                System.out.println(rollNo[i] + "\t" + avg[i]);
        }
    }
}
Output
BlueJ output of KboatExamResult.java
BlueJ output of KboatExamResult.java
BlueJ output of KboatExamResult.java