本文件共有 13585 字符 您好!没有登录不能查看全部内容!如果您想继续查看,请 登录 或 注册 成为会员!
内容预览:
1、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数与第200个数进行比较, 若两数不等, 则取较大者作为下列统计用的符合条件数,若两数相等, 则不作为符合条件数; 将第2个数与第199个数进行比较,若两数不等, 则同样取较大者, 若两数相等, 则同样不作为符合条件数; 直至第100个数与第101个数比较为止, 接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义: a[200]、min、max、aver 请勿改动数据文件IN.DAT中的任何数据、主函数main()、 读函数readDat()和写函数writeDat()的内容。 */#include #define MAX 200int a[MAX], min, max;double aver ; void jsVal() { int b[MAX/2], i, n=0; for(i = 0; i < MAX/2; i++) if(a[i]!=a[MAX-i-1]) b[n++] = a[i] > a[MAX-i-1] ? a[i] : a[MAX-i-1]; max=min=b[0]; aver=b[0]; for(i = 1; i < n; i++) { aver+=b[i]; if(b[i] > max) max=b[i]; else if(b[i] < min) min=b[i]; } aver=aver/n;/**/}void readDat(){ int i ; FILE *fp ; fp = fopen("in.dat", "r") ; for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ; fclose(fp) ;}void main(){ readDat() ; jsVal() ; printf("结果min=%d,max=%d,aver=%6.2lf\n", min, max, aver) ; writeDat() ;}writeDat(){ FILE *fp ; fp = fopen("out.dat", "w") ; fprintf(fp, "%d\n%d\n%6.2lf\n", min, max, aver) ; fclose(fp) ;} 2、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数, 这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义: a[200]、b[10] 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX], b[10];void jsVal(){/**/ int i,j,k=0,t; for(i=0; i < 10; i++) { b[i]=a[k++]; for(j=1; j < 20; j++,k++) if(b[i] > a[k]) b[i]=a[k]; } for(i=0; i < 9; i++) { k=i; for(j=i+1; j < 10; j++) if(b[j] > b[k]) k=j; if(k!=i){t=b[i]; b[i]=b[k]; b[k]=t;} }/**/}void readDat(){ int i ; FILE *fp ; fp = fopen("in.dat", "r") ; for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ; fclose(fp) ;}void main(){ int i ; readDat() ; jsVal() ; for(i = 0 ; i < 10 ; i++) printf("b[%d]=%d\n", i, b[i]) ; writeDat() ;}writeDat(){ FILE *fp ; int i ; fp = fopen("out.dat", "w") ; for(i = 0 ; i < 10 ; i++) fprintf(fp, "%d\n", b[i]) ; ……
本资料来源于参考资料网ckzl.net
|