用数组求平均数(debug)

存在问题:无报错,但运行时一直无法输出答案
要求:在原代码结构上进行改动,实现输入任意个数在一百以内的数字后可得到他们的平均值
以下为源代码:

#include 
int calculation(int a[],int count);
int count(int a[]);
int main()
{
//读取数据并储存    
     int i,n;
     printf("请输入数字:"); 
    int a[3]={};
    for(i=0;i<3;i++)
    {
        scanf("%d",&a[i]);
    } 
    n=count(a);
    calculation(a,n);   
    

    return 0;
} 

//统计数字个数
int count(int a[])
{
    int n=0;
    while(a[n]!=0)
    {
        n++;
    }
    return n;
} 
//运算求和 
int calculation(int a[],int count)
{    
    int sum=0;
    int n=count;
    for(;count>=0;count--)
    {
        sum+=a[count];
    }
    printf("%f",1.0*sum/(n+1));
}



 
#include <stdio.h>
int calculation(int a[],int count);
int count(int a[]);
int main() {
//读取数据并储存
    int i,n;
    int a[3]= {};
    printf("请输入数字:");
    for(i=0; i<3; i++) {
        scanf("%d",&a[i]);
    }
    n=count(a);
    calculation(a,n);
    return 0;
}
//统计数字个数
int count(int a[]) {
    int n=0;
    while(a[n]!=0) {
        n++;
    }
    return n;
}
//运算求和
int calculation(int a[],int count) {
    float sum=0;
    int n=count;
    for(count=count-1;count>=0; count--) {
        sum+=a[count];
    }
    printf("%f",sum/n);
}

for(;count>=0;count--)
这里count也要改成n啊
count函数是不对的啊,你数组长度为3,又输入了3,除非你最后一个输入0,否则这个count函数会乱套的。根本不需要这个函数啊。你都明确输入了3个值了啊

#include <stdio.h>
int calculation(int a[],int count);
int main()
{
//读取数据并储存    
     int i,n;
     printf("请输入数字:"); 
    int a[3]={};
    for(i=0;i<3;i++)
    {
        scanf("%d",&a[i]);
    } 
    calculation(a,3);   
    return 0;
} 

int calculation(int a[],int count)
{    
    int sum=0;
    int n=count-1;
    for(;n>=0;n--)
    {
        sum+=a[n];
    }
    printf("%f",1.0*sum/count);
}