搜题集 > “候选者”专题

阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某单位准备进行一次选举,对指定的n名(n<80)候选人进行投票。为了简化选举工作,事先印制了写有这n名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。规定每张选票上被涂黑的圆圈数不得超过3个,也不得少于1个,否则视为无效选票。投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。例如,n=8时所形成的文件如下:

01011000

10010100

10011000

11111111

00000000

00111000

其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。第i行第j列为1,表示第i张选票上投了第j名候选人1票。

函数statisdc()的功能是读入选票数据,并统计每位候选者的得票数,函数返回有效选票数。

【C函数】

int statistic(FILE*fp,int candidatet[],int n)

{ /*从文件中读入选票数据,n为候选人数量(n<80),从有效选票中统计每位候选者的得

票数并存入candidate[],函数返回有效选票数*/

char str[80]; /*str保存读入的一张选票数据*/

int i,tag=0; /* tag用于判断每张选票是否有效*/

int q=0; /*q用于计算有效选票数*/

for(i=0;i<n; i++)

candidate[i]=0;

while((1)){

fgets(str,80,fP); /*读入一张选票数据*/

for(tag=0,i=0;(2);i++)

if (str[i]=='1') tag++;

if((3)){/*若是有效选票,则进行统计*/

(4);

for(i=0; i<n; i++)

if.(str[i]=='1') (5);

}

}

return q;

}/*statistic*/