软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2006年下半年程序员考试下午真题试题(案例分析)
考试中心《2006年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2006年下半年
试题题型【分析简答题】
试题内容

阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
    某单位准备进行一次选举,对指定的n名(n<80)候选人进行投票。为了简化选举工作,事先印制了写有这n名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。规定每张选票上被涂黑的圆圈数不得超过3个,也不得少于1个,否则视为无效选票。投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。例如,
n=8时所形成的文件如下:
  01011000
  10010100
  10011000
  11111111
  00000000
  00111000
  ……
    其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。第i行第j列为1,表示第i张选票上投了第j名候选人1票。
    函数statistic()的功能是读入选票数据,并统计每位候选者的得票数,函数返回有效选票数。
【C函数】
int statistic (FILE *fp,int candidate[ ],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 */


相关试题

推荐文章
合作网站内容