问题 多项选择题

fclose (fp);

答案

参考答案:void CountRs(void)
{
int i,count,j;
char *pf;
for(i=0;i〈A0;i++)
yy[i]=0; /*给数组yy初始化置0*/
for(i=0;i〈A00;i++)
{
pf=xx[i];count=0; /*使指针pf指向各行的首地址*/
while(*pf)
if(*pf==’A’)
{
count++; /*统计得票数count*/
pf++;
}
else pf++;
if(count>E) /*当count值大于E时为有效票数*/
{
pf=xx[i]; /*使指针pf指向该行的首地址*/
j=0;
while(*pf) /*统计每个人的得票数,并依次存入yy[0]到yy[I]*/
if (*pf==’A’)
{
yy[i]+=A;
j++;
pf++;
}
else if(*pf==’0’)
{
pf++;
j++;
}
}
}
}

解析: 根据题意可知,本题涉及到了一个二维字符数组,该数组中含有100条记录,每条记录又包括长度为10位的字符串,并且该字符串中的字符只含有“0”(表示未选中)和“1” (表示选中)两个字符(用来标识某人的被选中情况)。本题要求要统计每个人的选票数,也就是要统计每行中字符为“广的个数,来借助一个指向字符指针的变量pf,首先让该指针指向各行的首地址,然后按照行方向依次指向当前行的各个字符,每找到一个字符就对它进行条件判断:看其是否为“1”,如果为“1”,则给用来统计得票数的变量count加1。当count值大于5时(选票中选中人数小于等于5个人时则被认为是无效选票),我们才做把得票数依次存入yy[0]到yy[9]中。注意,在yy数组中的每一项都存的是一个得票的总数。

选择题
多项选择题