How to calculate the average of a double array of given length in C

1 Answer

0 votes
#include <stdio.h>

double average(double *arr, int len) {
	double sum = 0;

	for (int i = 0; i < len; i++)
		sum += arr[i];

	return sum / len;
}

int main(void)
{
	double arr[] = {3.14, 8.0, 2.87, 5.982, 10.0};
	int len = sizeof arr/sizeof arr[0];
	
	for (; len >= 0; len--) {
		printf("average[");
		for (int i = 0; i < len; i++)
			printf(i ? ", %g" : "%g", arr[i]);
		printf("] = %g\n", average(arr, len));
	}

	return 0;
}




/*
run:

average[3.14, 8, 2.87, 5.982, 10] = 5.9984
average[3.14, 8, 2.87, 5.982] = 4.998
average[3.14, 8, 2.87] = 4.67
average[3.14, 8] = 5.57
average[3.14] = 3.14
average[] = -nan

*/

 



answered Oct 16, 2022 by avibootz

Related questions

1 answer 158 views
1 answer 185 views
1 answer 146 views
1 answer 117 views
1 answer 163 views
2 answers 209 views
1 answer 161 views
...