构思有问题——题目要求每行的数据个数不限,以-1结束,而你提供的代码每行只能输入最多100个数。就这一点就可以Don't pass!给你提供一个作参考——
#include "stdio.h"
struct rec{//记录max、min和ave的结构体,也可以不用结构体而用二维数组实现
int max,min;
double ave;
};
int main(int argc,char *argv[]){
int T,n,s,t,x;
struct rec R[5];
printf("Please enter T(int 0if(scanf("%d",&T)!=1 || T<1 || T>5){//输入T且控制范围
printf("Input error, exit...\n");
return 0;
}
for(x=T;T--;){//用x记录T,后面要用到
for(s=n=0;scanf("%d",&t) && t!=-1;n++){
if(s){
if(R[T].maxR[T].max=t;//总记录最大值
if(R[T].min>t)
R[T].min=t;//总记录最小值
}
else
R[T].max=R[T].min=t;
s+=t;
}
R[T].ave=s/(n+0.0);//求一行平均值
}
printf("\n");
while(x--)
printf("%d %d %.2f\n",R[x].min,R[x].max,R[x].ave);
return 0;
}
运行样例: