} yy[i]=0; for(i=0;i<100;i++) /*依次取每张选票进行统计*/ { cnt=0; /*初始化计数器变量*/ for(j=0;j<10;j++) /*统计每张选票的选中人数cnt*/ if(xx[i][j]=='1') cnt++; if(cnt>5) /*当cnt值大于5时为有效选票*/ { for(j=0;j<10;j++) /*统计有效选票*/ if(xx[i][j]=='1') yy[j]++; } }
模板七 选票问题
【模板速记】
记忆口诀:一定义二初始化三统计。定义指定义相关变量,初始化指初始化数组,统计是统计每个人选票的数量,详见模板七。做题时,需灵活应用本模板,切勿死记硬背。
【易错提示】 数组yy未初始化,判断选票是否有效的逻辑表达式错误
16. 【考点分析】 本题考查的知识点主要包括:结构体成员的访问,元素的排序, if判断结构和逻辑表达式。
【解题思路】此题属于结构体的筛选排序问题。分析题干要求,可以归纳出3个关键点:关键点1通过条件"每组数据中第2个数大于第1个数和第3个数之和"对每组数据进行判断;关键点2保存满足条件的数到新数组中并统计其数量;关键点3对新数组中的数再按照第2个数和第3个数之和的大小进行降序排列;关键点4函数的返回值