请教一下这个求平均值问题

请教一下这个求平均值问题

问题描述:

在一行上输入若干整数,每个整数以一个空格分开,求这些整数的平均值。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个字符串(仅包含数字字符和空格)。

输出格式:
对于每组测试,输出以空格分隔的所有整数的平均值,结果保留一位小数。

输入样例:
1
1 2 3 4 5 6 7 8 9 10
输出样例:
5.5

代码及运行结果如下,如有帮助,请帮忙采纳一下,谢谢。

img

代码

#include <stdio.h>
int main()
{
    int n,i,j=0,t=0,count=0;
    double sum=0;
    char buf[1000] = {0};
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        sum = 0;
        count = 0;
        j = 0;
        t = 0;
        gets(buf);
        while(buf[j] != '\0')
        {
            if(buf[j] == ' ')
            {
                sum += t;
                count++;
                t = 0;
            }
            else
                t = t*10+buf[j] - '0';
            j++;
        }
        if(t != 0) //这里避免当最后输入的是空格是多计数
        {
            sum += t;
            count++;
        }
        
        printf("%g\n",sum/count);
    }
    return 0;
}


先读入第一行测试组数,然后逐行读入所有测试数据,计算总和,除以数据数量就是平均值