这一个问题应该要怎么样去做啊

下面代码中,main函数三次调用函数fun,每次输入一组正整数,最后输出全部数据的最大值,最小值,总和,平均值。
定义函数fun,完成一组数据处理,每组数组个数不确定,以负数结束输入,空格分隔。

函数接口定义:

 

int fun (void); fun返回值为这组数据的个数。(不包括结束标志)

裁判测试程序样例:

 

在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> int max=0,min=0,total=0; int fun (void); int main() { int n; n=fun(); n=fun(); n=fun(); printf("max=%d min=%d total=%d ave=%.1f",max,min,total,(float)total/n); } /* 请在这里填写答案 */

是这样吗?

#include <stdio.h> 
int max=0,min=0,total=0; 
int fun (void); 
int main() { 
    int n=0; 
    n=fun(); 
    n=fun();
    n=fun(); 
    printf("max=%d min=%d total=%d ave=%.1f",max,min,total,(float)total/n);

 } 
 /* 请在这里填写答案 */
 int fun (void){
     
    static int num=0;
    int read=-1;
     
    scanf("%d",&read);     
    
     while(read>0){
         num++;
         if(max==0){ //如果第一次运行,则把max和min的值设置为第一个数 
            max=min=read;
        }
         total+=read;  //把每一个输入的正整数累加到总和中 
         if(max<read){  //求最大数  
             max=read;
         }
        if (min>read){  //求最小数 
            min=read;
        }
        scanf("%d",&read); //读入下一个数 
     }
     
     return num;  //返回读入的正整数 
         
  }

img