/* 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