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

试题三(共15分)  
    阅读以下说明和C代码,填补C代码中的空缺(1)~(5),将解答写在答题纸的对应栏内。  
【说明】  
    某市在进行市长选举,该市共分为M个选区(1<M<6,从1开始顺序编号),共有N个候选者参选(1<N<5,从A开始顺序编号)。经投票后,所得选票数据如下表所示。
     
    现已将选票数据存入文本文件data.txt,该文件内容格式如下:共有M行,每行N+1个整数,第一个整数为选区编号,随后为N个候选者在该选区所得票数。  
    下面的程序先从文件中读入选票数据存入二维数组data,然后完成下列功能: 
    a.计算并显示每个竞选者获得的选票数及占总选票数的百分比;  
    b.如果任一竞选者获得的选票数超过总票数的50%,则显示竞选者获胜;  
    c.如果没有竞选者获得总选票数的50%以上,则显示两位得票最高的竞选者需再进行决选。  
    在下面的程序代码中,竞选者A的编号为1,竞选者B的编号为2,以此类推。 
【C代码】  
#include<stdio.h> 
#include<stdlib.h>  
#define M 5      /*选区数*/  
#define N 4      /*竞选者人数 */ 
 
int main(int argc, char argv[ ] ) 
{
    FILE *fin;
    int data[M+1] [N+1];
                        /*data[ ][0]存放选区编号,data[M][J]存放j号竞选者得票总数*/
    int MAXP1,cdl;      /*MAXP1、cd1存放得票最多者的票数和竞选者编号*/
    int MAXP2,cd2;      /*MAXP2、cd2存放得票次多者的票数和竞选者编号*/
    int i,j, totalP;        /*tatalp存放总票数*/
 
    fin=fopen("data.txt","r");
    if(!fin)return -1;
    i=0;  j=0;  
    while(!feof(fin)){                       /* 从文件读入数据 */ 
          fscanf(fin,”%d”,&data[i][j]);
          (1); 
         if(j>N)  {j=0;i++;} 

fclose(fin);  
 
totalP =0;MAXP1=0;MAXP2=0;cd1=0;cd2=0; 
 
for(j=1;j<N+1;j++)         { 
    data[M][j]=(2);                       /* 设置竞选者得票总数初始值 */
    for(i=0;i<M;i++)                       /* 设置j号竞选者的得票总数 */
        data[M][j] +=data[i][j];
    if(data[M][j]>MAXP1)    {
         (3); cd2=cd1;
          MAXP1=data[M][j]; cd1=j; 
    }
else
         if(data[M][j]> MAXP2){ MAXP2=data[M][j];cd2=j;}
        (4);                                       /* 计算总票数 */ 
}
 
for(j=1;j<N+1;j++)   {
    printf("Candidate-%c:%d   ",j+'A'-1,data[M][j]);
    printf("%.2lf\n",(double)data[M][j]/totalP); 
}  
printf("\n");  
if((5)>0.5)              /* 判断得票数最多者的得票率 */
printf("Winner:Candidate-%c\n",cd1+'A'-1); 
else  
printf("Result : Candidate-%c PK Candidate-%c\n",cd1+'A'-1,cd2+'A'-1); 
system("pause"); 
return 0; 
}


相关试题

推荐文章
合作网站内容