为什么平均数求不出来,然后第一个数字没有参与循环

#include<stdio.h>

int max(int a[], int n)

{

int p, i;

p = a[0];

     for (i = 1; i < n; i++)

{

if (p < a[i])

p = a[i];

}

return p;

}

 

float average(int a[], int nt)

{

int i;

float av, sum;

sum = 0;

    av=0;

for (i = 0; i < nt; i++)

{

sum = sum + a[i];

}

av = sum / nt;

return av;

}

 

int main()

{

int i, n, sum, cj[100], maxx;

float aver;

n = 0;

sum = 0;

    aver=0;

for (i = 1; getchar() != '-'; i++)

{

scanf("%d", &cj[i]);

sum = sum + cj[i];

n++;

}

maxx = max(cj, n);

aver = average(cj, n);

printf("平均数:%d\n", aver);

printf("最大值:%d\n", maxx);

printf("%d&%d", n, sum);

return 0;

}

 

 

int mymax(int a[], int n)

{
	int p, i;

	p = a[0];

	for (i = 1; i < n; i++)

	{
		if (p < a[i])

			p = a[i];

	}

	return p;

}



float average(int a[], int nt)

{
	int i;

	float av, sum;

	sum = 0;

	av = 0;

	for (i = 0; i < nt; i++)

	{
		sum = sum + a[i];

	}

	av = sum / nt*1.0;

	return av;

}



	int i, n, sum, cj[100]{}, maxx;

	float aver;

	n = 0;

	sum = 0;

	aver = 0;

	for (i = 0; ; i++)

	{

		scanf("%d", &cj[i]);

		sum = sum + cj[i];
		if (getchar() == 10)break;
		n++;

	}

	maxx = mymax(cj, n);

	aver = average(cj, n);

	printf("平均数:%.4f\n", aver);

	printf("最大值:%d\n", maxx);

	printf("%d %d\n", n, sum);