#include #define TRUE 1 #define FALSE 0 int getMax(int numbers[]); int getMin(int numbers[]); int getSum(int numbers[]); float getAvg(int count, int sum); void sortArray(int numbers[]); float getMed(int numbers[]); int getMax(int numbers[]) { int high = numbers[0]; for(int i = 0; i < 10; i++) { if(numbers[i] > high) { high = numbers[i]; } } return high; } int getMin(int numbers[]) { int low = numbers[0]; for(int i = 0; i < 10; i++) { if(numbers[i] < low) { low = numbers[i]; } } return low; } int getSum(int numbers[]) { int sum = 0; for(int i = 0; i < 10; i++) { sum += numbers[i]; } return sum; } float getAvg(int count, int sum) { int average = sum / count; return average; } /* https://www.lynda.com/C-tutorials/Using-loops-searching-sorting/164457/180402-4.html */ void sortArray(int numbers[]) { int swapped; do { swapped = FALSE; for (int i = 1; i < 10; i++) { int temp = numbers[i]; // If the current pair is out of order if (numbers[i - 1] > numbers[i]) { // Swap the integers in numbers[i-1] and numbers[i] temp = numbers[i - 1]; numbers[i-1] = numbers[i]; numbers[i] = temp; // Notify the loop that something has changed in the array swapped = TRUE; } } } while(swapped == TRUE); } /* I would prefer to do something like this: int sortedArray[10] = sortArray(numbers); * but I don't think it's possible to return an array from a function. Ask the teacher */ float getMed(int numbers[]) { int swapped; do { swapped = FALSE; for (int i = 1; i < 10; i++) { int temp = numbers[i]; // If the current pair is out of order if (numbers[i - 1] > numbers[i]) { // Swap the integers in numbers[i-1] and numbers[i] temp = numbers[i - 1]; numbers[i-1] = numbers[i]; numbers[i] = temp; // Notify the loop that something has changed in the array swapped = TRUE; } } } while(swapped == TRUE); // We know that the array has ten elements exactly // Therefore index 4 + 5 are the middle numbers float median = (numbers[4] + numbers[5] / 2); return median; } int main() { int numbers[10]; printf("Please enter 10 integers:\n\n"); for(int i = 0; i < 10; i++) { scanf("%i", &numbers[i]); } int sum = getSum(numbers); int min = getMax(numbers); int max = getMin(numbers); int avg = getAvg(10, sum); int median = getMed(numbers); sortArray(numbers); printf("\nMinimum: %i\n", min); printf("\nMaximum: %i\n", max); printf("\nSum: %i\n", sum); printf("\nAverage: %g\n", avg); printf("\nSorted: "); for(int i = 0; i < 10; i++) { printf("%i ", numbers[i]); } printf("\n\nMedian: %g", median); return 0; }