C语言错误,哪里错了,本人大一新手

#include
int average(char a[],int j);
int xi2he(char a[],int j);
int xiyihe(char a[],char b[],int j);
int main()
{
char a[20],b[20];
int ch,i;
float x,y;
i=0;
printf("***********");
while((ch=getchar())!=97)
{
a[i]=ch;
i++;
}
printf("***********");
i=0;
while((ch=getchar())!=97)
{
b[i]=ch;
i++;
}
printf("***********");
x=(xiyihe(a,b,i)-i*average(a,i)*average(b,i))/(xi2he(a,i)-i*average(a,i)*average(a,i));
y=average(b,i)-x*average(a,i);
printf("x=%f y=%f",x,y);
return 0;

}
int average(char a[],int j)
{
int i,sum;
sum=0;
for(i=0;i++;i<=j-1)
{
sum=a[i++]+sum;
}
return sum/i;
}
int xi2he(char a[],int j)
{
int i,sum;
sum=0;
for(i=0;i++;i<=j-1)
{
sum=a[i]*a[i]+sum;
i++;
}
return sum;
}
int xiyihe(char a[],char b[],int j)
{
int i,sum;
sum=0;
for(i=0;i++;i<=j-1)
{
sum=sum+a[i]*b[i];
i++;
}
return sum;
}

https://zhidao.baidu.com/question/1733104597500981507.html