// ave1000.c: using arrays to compute an average of up to 1000 doubles // Reads integers until end-of-file with prompts for input. #include const int MAX_ITEMS = 1000; // compute average of an array, returning 0 if the array is empty double ave(const double nums[], int size) { double sum = 0.0; for(int i = 0; i < size; ++i) sum += nums[i]; return size == 0 ? 0.0 : (sum / size); } int main() { double nums[MAX_ITEMS]; int count = 0; double next_number; printf("Enter a number: "); scanf("%lf", &next_number); while ( !feof(stdin) && count < MAX_ITEMS ) { nums[count] = next_number; ++count; printf("Enter the next number: "); scanf("%lf", &next_number); } if ( count == 0 ) printf("No average for an empty input.\n"); else printf("Average: %.3g\n", ave(nums, count)); return 0; }