In: Computer Science
Write a C program without using if-else construct that does the following. It accepts a sequence of positive integers between 1 and 9 both inclusive from the keyboard. The program will stop accepting input once an integer outside the range is entered. The program will finish by printing the total number multiples of 3 and total number of even integers entered. Test data and expected output: Enter integers between 1 & 9 both inclusive, outside range to stop Enter integer :0 Total no of even integer entered is 0 Total no of multiples of 3 entered is 0 Enter integers between 1 & 9 both inclusive, outside range to stop Enter integer :2 Enter integer :4 Enter integer :6 Enter integer :9 Enter integer :3 Enter integer :1 Enter integer :2 Enter integer :0 Total no of even integer entered is 4 Total no of multiples of 3 entered is 3
#include <stdio.h>
int main()
{
int a,b,i;//a counts number of even interges and b counts number of multiples of 3
a=0; // a is initialized to 0
b=0; // b is initialized to 0
printf("Enter integers between 1 & 9 both inclusive, outside range to stop");
do
{
printf("\nEnter Integer : ");
scanf("%d",&i); //taking integer into i
a=(i>=1 && i<=9 && i%2==0)?++a:a;
// here if the condition (i>=1 && i<=9 && i%2==0) is true then a=++a ,if it is false a=a
b=(i>=1 && i<=9 && i%3==0)?++b:b;
// here if the condition (i>=1 && i<=9 && i%3==0) is true then b=++b ,if it is false b=b
}while(i>=1 && i<=9); //iterates if "i" is in between 1 & 9 both inclusive
printf("\nTotal no of even integer entered is %d",a); // printing number of even numbers
printf("\nTotal no of multiples of 3 entered is %d",b); // printing number of multiples of 3
return 0;
}
For indentation please refer the below pics ::
OUTPUT IS AS FOLLOWS ::
OUTPUT IS AS FOLLOWS ::