请教:2011年下半年软考程序员下午试卷(参考答案版)第3大题第1小题如何解答?

[复制链接]
查看: 234|回复: 0

23万

主题

23万

帖子

32万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
329731
发表于 2022-9-19 14:44:16 | 显示全部楼层 |阅读模式
问题:
请教:2011年下半年软考程序员下午试卷(参考答案版)第3大题第1小题如何解答?

【题目描述】

试题三(共15分)
阅读以下说明和C代码,填补C代码中的空缺(1)~(5),将解答写在答题纸的对应栏内。
【说明】
某市在进行市长选举,该市共分为M个选区(1<M<6,从1开始顺序编号),共有N个候选者参选(1<N<5,从A开始顺序编号)。经投票后,所得选票数据如表3-1所示。

现已将选票数据存入文本文件data.txt,该文件内容格式如下:共有M行,每行N+l个整数,第一个整数为选区编号,随后为N个候选者在该选区所得票数。
下面的程序先从文件中读入选票数据存入二维数组data,然后完成下列功能:
a.计算并显示每个竞选者获得的选票数及占总选票数的百分比;
b.如果任一竞选者获得的选票数超过总选票数的50%,则显示该竞选者获胜;
c.如果没有竞选者获得总选票数的50%以上,则显示两位得票最高的竞选者需再进行决选。
在下面的程序代码中,竞选者A的编号为l,竞选者B的编号为2,以此类推。
【C代码】
#include<stdio.h>
#include <stdlib.h>
#defineM 5    /*选区数*/
#define N 4    /*竞选者人数*/

int main(int argc,char argv[])
{
FILE *fin;
int data[M+l][N+1];  /*data[] [0]存放选区编号,data[M][j]存放j号竞选者得票总数*/
int MAXP1,cdl;    /*MAXP1、cdl存放得票最多者的票数和竞选者编号*/
int MAXP2,cd2;     /*MAXP2、cd2存放得票次多者的票数和竞选者编号*/
int i,j,totalP;          /*totalP存放总票数*/
fin= fopen(“data.txt”,“r”);
if(!fin) return-1;

1=0;  j=0;
while (!feof(fin)){  /*从文件读入数据*/
fscanf(fin,"%d",&data [j]);
(1) ;
if(j>N)    {j=0;i++;)
}
fclose(fin);

totalP=0;MAXPl=0;MAXP2=0;cdl=0;cd2=0;

for(j=l;j<N+l;j++){
data[M][j]=  (2)  ;    /*设置j号竞选者得票总数初始值*/
for(i=0;i<M;i++)    /*计算j号竞选者的得票总数*/
data[M][j]+=data[j];
if(data[M][j]> MAXPl){
(3)  :  cd2= cdl;
MAXPl=data[M][j];   cdl =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("%.21f\n" ,(double)data[M] [j]/totalP);
}
printf("\n"),

if(   (5)  >0.5)    /*判断得票数最多者的得票率*/
printf("Winner: Candidate-%c\n",cdl+'A'-l);
else
printf("Result:Candidate-%c PK Candidate-%c\n",cdl+'A'-l,cd2+'A'-l);

system("pause");
return0;
}





【我提交的答案】:(1) j++;(2) data[M][j]=0;(3)(4)totoalIP+=data[M][j];(5)MAXPI/totalIP
【参考答案分析】:(1)j++,或++j,或其等价表示
(2)0
(3) MAXP2= MAXP1
(4)  totalP+=data[M][j],或totalP+=totalP+ data[M][j],或其等价表示
(5)  (double)MAXPl/totaIP,或(float)MAXPl/totalP,或其等价表示
其中,将(double)或(float)写在totalP之前亦可

【我的疑问】(如下,请求专家帮助解答)请问第三个答案是什么意思啊?MAXP2=MAXP1:cd1=cd2;单冒号有这种用法吗?


更多“请教:2011年下半年软考程序员下午试卷(参考答案版)第3大题第1小题如何解答?”相关的问题

第1题
基于业务流程重组的信息系统规划主要步骤是(57)。A.系统战略规划、系统流程规划、系统功能规划和系

基于业务流程重组的信息系统规划主要步骤是(57)。
A.系统战略规划、系统流程规划、系统功能规划和系统实施
B.系统战略规划、系统流程规划、系统数据规划、系统功能规划和系统实施
C.系统战略规划、系统流程规划、系统数据规划和系统实施
D.系统战略规划、系统流程规划、系统方案规划、系统功能规划和系统实施

第2题
基于业务流程重组的信息系统规划主要步骤是(57)。
A.系统战略规划、系统流程规划、系统功能规划和系统实施
B.系统战略规划、系统流程规划、系统数据规划、系统功能规划和系统实施
C.系统战略规划、系统流程规划、系统数据规划和系统实施
D.系统战略规划、系统流程规划、系统方案规划、系统功能规划和系统实施

第3题
基于业务流程重构的信息系统规划主要步骤是()
A.系统战略规划阶段、系统流程规划阶段、系统功能规划阶段和系统实施阶段
B.系统战略规划阶段、系统流程规划阶段、系统数据规划阶段、系统功能规划阶段和系统实施阶段
C.系统战略规划阶段、系统流程规划阶段、系统数据规划阶段和系统实施阶段
D.系统战略规划阶段、系统流程规划阶段、系统方案规划阶段、系统功能规划阶段和系统实施阶段

第4题
基于业务流程再造的信息系统规划,从高到低依次是:系统战略规划、()、系统数据规划、系统功能规划和系统资源分配。
A.系统分析规划
B.系统重组规划
C.系统流程规划
D.系统业务规划

第5题
下列关于基于BPR的信息系统规划方法各阶段的描述中,错误的是()

A、系统流程规划阶段的主要任务是选择核心业务流程
B、系统数据规划阶段应先进行数据的规划,再定义数据类
C、系统功能规划阶段中通常要建立U/C矩阵
D、系统战略规划阶段旨在明确企业的战略目标

第6题
分配信息系统项目所需的管理资源和开发资源是系统规划流程阶段中的()。
A.战略规划
B.需求分析
C.资源分配
D.项目规划

第7题
分析企业中的业务支持对象及目标,明确所需要的信息系统是系统规划流程阶段中的()。
A.战略规划
B.需求分析
C.资源分配
D.项目规划

第8题
物流战略规划、物流系统模式设计、物流功能要素规划与设计、作业流程规划与设计、物流设施规划与设计、信息系统规划与设计等是()。

A.物流系统规划与设计的层次
B.物流系统分析的要素
C.物流系统分析的步骤
D.物流系统规划与设计的内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图