-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem1.c
More file actions
91 lines (71 loc) · 2.48 KB
/
problem1.c
File metadata and controls
91 lines (71 loc) · 2.48 KB
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
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <string.h>
#define NO_OF_MONTHS 12
char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
void salesReport(float sales[]){
printf("Monthly sales report 2022: \n");
printf("%-15s%-15s\n","Month","Sales");
for (int i = 0; i < NO_OF_MONTHS; i++){
printf("%-15s$%.2f\n", months[i], sales[i]);
}
}
void salesSummary(float sales[]){
float minSales = sales[0];
float maxSales = sales[0];
char *minMonth = months[0];
char *maxMonth = months[0];
float total = sales[0];
for (int i = 0; i < NO_OF_MONTHS; i++){
if (sales[i] < minSales){
minSales = sales[i];
minMonth = months[i];
}
else if (sales[i] > maxSales){
maxSales = sales[i];
maxMonth = months[i];
}
total += sales[i];
}
float average = total / NO_OF_MONTHS;
printf("\nSales Summary:\n");
printf("Minimum sales: $%.2f (%s)\n", minSales, minMonth);
printf("Maximum Sales: $%.2f (%s)\n", maxSales, maxMonth);
printf("Average sales: $%.2f\n", average);
}
void sixMonthAvg(float sales[0], char *months[]){
printf("\n Six-Month Moving Average Report:\n");
for (int i = 0; i <= NO_OF_MONTHS - 6; ++i){
float total = 0;
for (int j = i; j < i + 6; ++j){
total += sales[j];
}
float average = total / 6;
printf("%s - %s $%.2f\n", months[i], months[i + 5], average);
}
}
void descendingSalesReport(float sales[]) {
printf("\nSales Report (Highest to Lowest):\n");
int sortedIndices[NO_OF_MONTHS];
for (int i = 0; i < NO_OF_MONTHS; i++) {
sortedIndices[i] = i;
}
for (int i = 0; i < NO_OF_MONTHS - 1; i++) {
for (int j = i + 1; j < NO_OF_MONTHS; j++) {
if (sales[sortedIndices[i]] < sales[sortedIndices[j]]) {
int temp = sortedIndices[i];
sortedIndices[i] = sortedIndices[j];
sortedIndices[j] = temp;
}
}
}
for (int i = 0; i < NO_OF_MONTHS; i++) {
printf("%s - $%.2f\n", months[sortedIndices[i]], sales[sortedIndices[i]]);
}
}
int main(){
float sales[] = {23458.01, 40112.00, 56011.85, 37820.88, 37904.67, 60200.22, 72400.31, 56210.89, 67230.84, 68233.12, 80950.34, 95225.22};
salesReport(sales);
salesSummary(sales);
sixMonthAvg(sales, months);
descendingSalesReport(sales);
}