The following functions should return the sum, average, and standard deviation of an array of integers. What's wrong with this code? (unfortunately I cannot test it myself right now). This is my first program in C, very exciting, hope you can help me. Thanks!

Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char **argv)
{
int sum(int *numbers, unsigned short count){
int i;
int sum = 0;
for(i=0, i < count, i ++)
{ sum = sum + numbers[i];
}
return sum;
}
double average(int *numbers, unsigned short count){
float avg;
int sum;
sum = sum(numbers, count);
avg = sum/count;
return avg;
}
double sd(int *numbers, unsigned short count){
float avg;
int i;
float var;
int sum = 0;
avg = average(numbers, count);
for(i = 0, i < count, i ++)
{ sum = sum + pow((numbers[i] - avg), 2);
}
var = sum/count;
return sqrt(var);
}
int numbers[] = {15, 0, -3, 7, 27743, 6, 8, 1, -5732, 1, 9};
printf("The sum is %d\n", sum(numbers, 11));
printf("The average is %7.2f\n", average(numbers, 11));
printf("The standard deviation is %7.2f\n", sd(numbers, 11));
return 0;
}
}