/*
Several operations on an array (largest/smallest, average, etc)
*/
#include <stdio.h>
main()
{
/* Declaration Statements */
char month[12][4];
short units[12];
double sales[12];
short uq[4];
double sq[4];
short i, cars, mins, maxs, j, k, iave;
double totals, big, min, ave;
printf("C54.C -> Operations an array \n");
/* Assignment Statements */
for (i = 1; i <= 12; i++)
{ /* Read value from */
printf("Month (Jan,Feb,...) : "); /* keyboard entry. */
scanf("%s",month[i-1]);
printf("Units Sold : ");
scanf("%hd", &units[i - 1]);
printf("Sales (in million $): ");
scanf("%lg", &sales[i - 1]);
}
/* Initializing variables */
cars = units[0];
totals = sales[0];
big = totals;
min = totals;
mins = 1;
maxs = 1;
for (i = 2; i <= 12; i++)
{
cars += units[i - 1];
totals += sales[i - 1];
if (sales[i - 1] > big) /* It selects the biggest sales */
{ /* and keep track of the index */
big = sales[i - 1]; /* to know when it occurs. */
maxs = i;
} /* End of if statement */
else
{
if (sales[i - 1] < min) /* It selects the smallest sales */
{ /* and keep track of the index */
min = sales[i - 1]; /* to know when it occurs. */
mins = i;
}
} /* End of else statement */
} /* End of for{} loop */
i = 0;
for (j = 1; j <= 4; j++)
{
uq[j - 1] = 0;
sq[j - 1] = 0.0;
for (k = 1; k <= 3; k++)
{
i++;
uq[j - 1] += units[i - 1];
sq[j - 1] += sales[i - 1];
} /* End of inner for{} loop */
} /* End of outer for{} loop */
/* Output original data and results */
printf("\n");
printf("Month unit sales m$\n");
for (k = 1; k <= 12; k++)
printf("%3c%s%6d%6.1f\n",' ', month[k-1], units[k-1], sales[k-1]);
printf("\nTotals%5d%6.1f\n", cars, totals);
iave = cars / 12; /* Compute the units sold average */
ave = totals / 12.0; /* and sales average by month. */
printf("\Nave.%7d%6.1f\n\n", iave, ave);
printf("Best/worst-%5.1f%5.1f\n\n", big, min);
printf("Occurred in%2c%s%2c%s\n\n",
' ', month[maxs - 1], ' ', month[mins - 1]);
printf("Cars sold by quarter%5d%5d%5d%5d\n", uq[0], uq[1], uq[2],
uq[3]);
printf("Sales by quarter %5.1f%5.1f%5.1f%5.1f\n",
sq[0], sq[1], sq[2], sq[3]);
return(0);
}
/* End of Program C54 */
/*
INPUT :Jan 5 12 Feb 4 78 Mar 1 3 Apr 5 32 May 6 12 June 5 32 July 1 12 Aug 34 12 Sep 4 10 Oct 5 23 Nov 1 23 Dec 0 0OUTPUT :
C54.C -> Operations on an array Month (Jan,Feb,...) : Jan Units Sold : 5 Sales (in million $): 12 Month (Jan,Feb,...) : Feb Units Sold : 4 Sales (in million $): 78 Month (Jan,Feb,...) : Mar Units Sold : 1 Sales (in million $): 3 Month (Jan,Feb,...) : Apr Units Sold : 5 Sales (in million $): 32 Month (Jan,Feb,...) : May Units Sold : 6 Sales (in million $): 12 Month (Jan,Feb,...) : June Units Sold : 5 Sales (in million $): 32 Month (Jan,Feb,...) : July Units Sold : 1 Sales (in million $): 12 Month (Jan,Feb,...) : Aug Units Sold : 34 Sales (in million $): 12 Month (Jan,Feb,...) : Sep Units Sold : 4 Sales (in million $): 10 Month (Jan,Feb,...) : Oct Units Sold : 5 Sales (in million $): 23 Month (Jan,Feb,...) : Nov Units Sold : 1 Sales (in million $): 23 Month (Jan,Feb,...) : Dec Units Sold : 0 Sales (in million $): 0 Month unit sales m$ Jan 5 12.0 Feb 4 78.0 Mar 1 3.0 Apr 5 32.0 May 6 12.0 June 5 32.0 July 1 12.0 Aug 34 12.0 Sep 4 10.0 Oct 5 23.0 Nov 1 23.0 Dec 0 0.0 Totals 71 249.0 Nave. 5 20.8 Best/worst- 78.0 0.0 Occurred in Feb Dec Cars sold by quarter 10 16 39 6 Sales by quarter 93.0 76.0 34.0 46.0 */
Last modified: 22/07/97