-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheven_odd_numbers.c
79 lines (67 loc) · 1.91 KB
/
even_odd_numbers.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <stdlib.h>
/*
Requests integer numbers be input from the keyboard continuously until the user enters a 0.
Once the user finishes entering numbers, the program prints the average value of the even numbers,
the average value of the odd numbers, the largest even number, and the smallest odd number.
*/
// Function prototypes:
// Determines if a number is even:
int is_even(int num);
// Calculates average:
float calc_average(int num, int num_of_nums);
int main (void) {
printf("Hello. Please enter your name.\n");
char name[50];
scanf("%s", name);
printf("Enter integers. Enter 0 to quit.\n");
int num_even = 0;
int num_odd = 0;
int sum_even = 0;
int sum_odd = 0;
int max_even = 0;
int min_odd = 0;
while (1) {
// Get integer from user.
int num;
printf("Please enter an integer:\n");
// We exit if the user enters 0:
scanf("%d", &num);
if (num == 0) {
break;
}
if (is_even(num)) {
sum_even += num;
num_even++;
if(num > max_even) {
max_even = num;
}
}
else {
sum_odd += num;
num_odd++;
if(min_odd == 0 || num < min_odd) {
min_odd = num;
}
}
}
// Outputs info:
float average_even = calc_average(sum_even, num_even);
float average_odd = calc_average(sum_odd, num_odd);
printf("%s,\n", name);
printf("The average of the even numbers is %.2f and the average of the odd numbers is %.2f.\n", average_even, average_odd);
printf("The largest even number entered was %d.\n", max_even);
printf("The smallest odd number entered was %d.\n", min_odd);
return 0;
}
// Determines if a number is even or odd
int is_even (int num) {
if (num % 2 == 0) {
return 1;
}
return 0;
}
// Calculates the average given a number and the number of numbers it is the sum of
float calc_average (int num, int num_of_nums) {
return (float) num / (float) num_of_nums;
}