1、说明
用一个函数实现数据,输入的功能,其首部为:
intInput(ints[])
Input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
2、实例
#include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> ////拷贝到平台的时候把my_fuction_lib.h注释掉. //#include"my_fuction_lib.h" //在此下方插入自定义函数对的声明: voidstatistics(intn,ints[],int*max,int*min,float*avg) { max[0]=min[0]=s[0]; floatsum=max[0]; for(inti=1;i<n;i++) { if(s[i]>max[0])max[0]=s[i]; elseif(s[i]<min[0])min[0]=s[i]; sum+=s[i]; } avg[0]=sum/n; } intInput(ints[]) { /* 以下写法不可取,因为scanf里的i++后,回到while的判断中,是s[i]就不是刚才读组的值了 因此无法判断刚才读到的是否结束标志0. inti=0; scanf("%d",&s[i]); while(s[i]!=0) { scanf("%d",&s[i++]); }*/ inti=0; /*初始化s[0]*/ scanf("%d",&s[i]); for(;s[i++]!=0;) { scanf("%d",&s[i]); } returni-1; } //主函数main intmain() { ints[100]; intmin[1]; intmax[1]; floatavg[1]; intn; inti=0; //while(scanf("%d",&s[i++])&&s[i]!=0); n=Input(s); statistics(n,s,max,min,avg); printf("Num=%d\n",n); printf("Max=%d\n",max[0]); printf("Min=%d\n",min[0]); printf("Avg=%.3f\n",avg[0]); return0; }