早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

对10个候选人进行选举,现有一个100条记录的选票数据文件in.dat,其数据存放的格式是每条记录的长

题目

对10个候选人进行选举,现有一个100条记录的选票数据文件in.dat,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个候选人的选中情况,第二位表示第二个候选人的选中情况,依次类推;每一位内容均为字符‘0’或‘1’,‘1’示此人被选中,‘0’表示此人未被选中,若一张选票选中人数大于5个人时被认为无效的选票则不作统计。给定函数ReadDat的功能是把选票数据读入到字符串数组XX中。请编制函数CountRs来统计每个候选人的选票数并把得票数依次存入yy[01到yy[9]中,即第一个候选人的得票数存入yy[O]中,以此类推。最后调用函数WriteDat把结果yy输出到文件out.dat中。注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

参考答案
正确答案:
【审题关键句】10列100行选票,每行大于5的无效,统计存入数组。
【解题思路】
根据题意,本程序中要统计每条记录中的有效票数,因此需要先判断该记录是否有效,然后再对有效的记录做进一步处理,即统计每个人的得票情况。
①首先定义两个循环变量i、j和一个计数变量cnt。
②指定第一个for循环的循环条件,循环变量i从0开始,等于100时结束,每循环一次,变量i的值加1。
③在for循环中,从第一条记录开始,每执行一次循环则处理_条记录是否满足要求。for循环语句执行流程大致如下:先将计数变量cnt赋值0(每执行一次循环时,都将重新赋初值0);然后通过一个for循环判断当前记录的10个数字是否为1,每次判断1个数字,如果数字等于1,则计数变量cnt的值加1,当第二个for循环执行完毕后,如果计数变量cnt的值小于等于5,则再通过一个for循环重新判断哪些位置上的数等于1,并将相应位置上的数值累加1。
【参考答案】