文档介绍:第3类数位分解后按数筛选机求平均值第3类数位分解后按数筛选机求平均值试题二十三已知数据文件 T 中存有 300个4 位数, 并已调用函数 readDat() 把这些数存入数组 a中, 请编制一函数 jsValue(), 其功能是: 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个 t, 再求出所有满足此条件的4 位数的平均值 pjz1, 以及所有不满足此条件的 4 位数的平均值 pjz2, 最后调用函数 writeDat() 把结 t,pjz1,pjz2 输出到 文件。例如: 7153,7+1=5+3, 则该数满足条件, 计算平均值 pjz1, 且个 t+1 。则该数不满足条件计算平均值 pjz2 。注意:部分源程序存放在 中。程序中已定义数组:a[300],b[300], 已定义变量:cnt,pjz1,pjz2 。请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。【参考答案】 void jsValue( ){ int i,n=0; /* 定义循环变量和计数器变量*/ int a1,a2,a3,a4; /* 定义变量保存4 位数的每位数字*/ for(i=0;i<300;i++) /* 逐个取每一个 4 位数*/ { a4=a[i]/1000; /*求4 位数的千位数字*/ a3=a[i]%1000/100; /*求4 位数的百位数字*/ a2=a[i]%100/10; /*求4 位数的十位数字*/ a1=a[i]%10; /*求4 位数的个位数字*/ if(a4+a3==a2+a1) /* 如果千位数加百位数等于十位数加个位数*/ { cnt++; /* 统计满足条件的数的个数*/ pjz1+=a[i]; /* 将满足条件的数求和*/ } else { n++; /* 否则统计不满足条件的数的个数*/ pjz2+=a[i]; /* 将不满足条件的数求和*/ }} pjz1/=cnt; /* 求满足条件的数的平均值*/ pjz2/=n; /* 求不满足条件的数的平均值*/ } 试题二十四已知数据文件 t 中存有 300个4 位数, 并已调用函数 readDat() 把这些数存入数组 a中, 请编制一函数 jsValue() , 其功能是: 求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0 t , 再求出所有满足此条件的 4 位数平均值 pjz1 , 以及所有不满足此条件的 4 位数平均值 pjz2 ,最后调用函数 writeDat() 把结 t , pjz1 , pjz2 输出到 文件。例如: 1239,9 -1-2- 3>0 ,则该数满足条件,计算平均值 pjz1 ,且 t = cnt +1。 8129,9 -8-1- 2<0 ,则该数不满足条件,计算平均值 pjz2 。注意:部分源程序已给出。程序中已定义数组: a[300] , b[300] ,已定义变量: cnt , pjz1 , pjz2 。请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。【参考答案】 void jsValue() { int i,thou,hun,ten,data,n=0