将文件in.dat中的200个整数读至数组XX中。请编制jsvalue()函数,要求:求出数组XX中的数max及数的个cnt和数组xx中的元素值能被3整除或能被7整除的所有数的算术平均值pj。
结果max,cnt,pj输出到out.dat中。
答案及解析
【审题关键句】数及其个数,同时被3或7整除的整数的算术平均值。
【解题思路】
①定义循环整型变量i和用于保存数组XX中的能被3整除或能被7整除的元素的个数变量cnt1,并把其值设置为0。把全局变量max、cnt的初值设置为0;把变量pj的初值设置为0.0。
②采用for循环语句,循环变量i从0开始,依次递增到N.1,对数组xx中的每一个数组元素xx[i]用if条件语句判断其值是否能被3整除或能被7整除,如果xx[i]满足上述条件,则把其值累加到变量pj,同时变量cntl的值加1。再判断数组元素XX[i]与max的大小,如果XX[i]大于max,则xx[i]的值赋给max,同时把变量cnt的值赋为1,如果xx[i]等于max,则变量cnt的值加1。
③退出循环后,用变量pj的值除以cnt1的值就得到满足条件的数的算术平均值。
在for循环语句对200个整数逐个进行扫描,判断其能被3整除或能被7整除的数,并把这些数累加到变量pj,并统计这些数的个数,用这些数的和除以它们的个数,就得到这些数的平均值。对于求出数组)XX中的数max及数的个数cnt的问题,把数组XX中的第一个数赋给变量max,对于能被3整除或能被7整除的数与max的值比较大小,如果此数比max的值大,则把这个数赋值给max,如果此数等于max的值,则数的个数cnt加1。
【参考答案】