Write a program that reads ten integers, and then display the number of even numbers and odd numbers. Assume that the input ends with 0. Here is the sample run of the program

Respuesta :

Answer:

I am writing  a JAVA program. Let me know if you want this program in some other programming language.

import java.util.Scanner;  // class to take input from user

class EvenOddNum{  //class name

   static void EvenOdd(int array[]) {  //function that takes an array as input and displays number of even numbers and odd numbers

       int even = 0;  // counts even numbers      

       int odd = 0;   //counts odd numbers

       for(int i = 0 ; i < array.length-1 ; i++){  //loop through the array elements till the second last array element

           if ((array[i] % 2) == 1) {  // if the element of array is not completely divisible by 2 then this means its an odd  number

               System.out.println(array[i]+" = odd");  //display that element to be odd

               odd++ ; }  //adds 1 to the count of odd every time the program reads an odd number

           else{  // if above IF condition evaluates to false then the number is an even number

                System.out.println(array[i]+" = even"); //display that element to be odd

                even++ ; } }  //adds 1 to the count of odd every time the program reads an odd number

       System.out.println( "Number of even numbers = " + even);  //counts the total number of even integers in the array

       System.out.println( "Number of odd numbers = " + odd);    }   //counts the total number of odd integers in the array      

   public static void main (String[] args){  //start of main function body

       Scanner scan= new Scanner(System.in); //creates Scanner class object

       int [] integers = new int[10];  //declares an array named integers that stores 10 integers

       System.out.print("Enter numbers: ");  //prompts user to enter the integers

       for(int i = 0;i<integers.length;i++){  //loops to read the input integers

           integers[i] = scan.nextInt(); }  //scans and reads each integer value

       EvenOdd(integers);    } }  //calls function EvenOdd to display number of even and odd numbers

Explanation:

The program has a method EvenOdd that takes an array of integers as its parameter. It has two counter variables even and odd. even counts the number of even input integers and odd counts the number of odd input integers. The for loop iterates through each element (integer) of the array except for the last one. The reason is that it is assumed that the input ends with 0 so the last element i.e. 0 is not counted. So the loop iterates to length-1 of the array. The number is odd or even is determined by this if condition: if ((array[i] % 2) == 1) A number is even if it is divisible by 2 otherwise its odd. If the element of array is not completely divisible by 2 i.e. the remainder of the division is not 0 then the number is odd. The modulo operator is used which returns the remainder of the division of number by 2. Each time when an odd or even number is determined, the array[i]+" = even" or  array[i]+" = odd" is displayed on the output screen for each integer in the array. Here array[i] is the element of the array and even or odd depicts if that element is even or odd. The last two print statement display the total number of even and odd numbers in the array.

Ver imagen mahamnasir
Ver imagen mahamnasir