81.8k views
1 vote
Write a modular program that accepts up to 20 integer test scores in the range of 0 to 100 from the user and stores them in an array. Then main should report how many perfect scores were entered (i.e., scores of 100), using a value-returning countPerfect function to help it. Hint: Have the program count the scores as they are entered. Your program may need this information later.

User Biscuit
by
4.3k points

1 Answer

3 votes

Answer:

The program in Java is as follows:

import java.util.*;

public class Main{

public static int countPerfect(int [] scores, int n){

int count = 0;

for(int i = 0;i<n;i++){

if(scores[i] == 100) {count++;} }

return count; }

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int n;

System.out.print("Number of scores: ");

n = input.nextInt();

if(n<1 || n>20){n=20;}

int [] scores = new int[n];

for(int i = 0;i<n;i++){

scores[i] = input.nextInt(); }

System.out.print("Perfect Scores: "+countPerfect(scores,n));

}

}

Step-by-step explanation:

The countPerfect function begins here

public static int countPerfect(int [] scores, int n){

This initializes the count to 0

int count = 0;

This iterates through the array elements

for(int i = 0;i<n;i++){

If current score is 100, count is incremented by 1

if(scores[i] == 100) {count++;} }

This returns the value of count

return count; }

The main begins here

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

This declares the number of scores, n

int n;

Prompt to enter the number of scores

System.out.print("Number of scores: ");

This gets input for n

n = input.nextInt();

If input is less than 1 or greater than 20, n is set to 20

if(n<1 || n>20){n=20;}

This declares the scores as an array

int [] scores = new int[n];

This iterates through the array and get inputs for each score

for(int i = 0;i<n;i++){

scores[i] = input.nextInt(); }

This calls the function and print the number of perfect scores

System.out.print("Perfect Scores: "+countPerfect(scores,n));

}

User Goblinjuice
by
4.5k points