初级程序员2011下半年下午试题.doc

初级程序员2011下半年下午试题.doc

ID:49654345

大小:36.99 KB

页数:13页

时间:2020-03-03

初级程序员2011下半年下午试题.doc_第1页
初级程序员2011下半年下午试题.doc_第2页
初级程序员2011下半年下午试题.doc_第3页
初级程序员2011下半年下午试题.doc_第4页
初级程序员2011下半年下午试题.doc_第5页
资源描述:

《初级程序员2011下半年下午试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、初级程序员2011下半年下午试题试题一  阅读以下说明和流程图。  [说明]  以下流程图用于检查数组A[1:n]中的元素是否为自然数1~n的一个排列(含有1~n各数)。若是,则输出OK,否则输出所缺的自然数及其个数m。  为检查A[1:n]中是否含有k,只要判断P(k)=(A(1)-k)*(A(2)-k)*…*(A(n-k)是否等于0即可。  [流程图]  试题二1、  阅读以下说明和C程序代码。  [说明]  下面是一个待修改的C程序,其应该完成的功能是:对于输入的一个整数num,计算其位数k,然后将其各位数字按逆序转换为字符串保存并输出。若num为负整数,则输出

2、字符串应有前缀“-”。例如,将该程序修改正确后,运行时若输入“14251”,则输出“15241”;若输入“-6319870”,则输出“-0789136”。  下面给出的C程序代码中有五处错误,请指出错误代码所在的行号并给出修改正确后的完整代码行。[C程序代码]行号代码01020304#include<stdio.h>#include<stdlib.h>intmain(){0506070809101112131415161718longnum=0,t=0;char*pstr,i=0,k=0;scanf("%1d",num);/*输入一个整数,存入num*/t=num;k

3、=num!=0?0:1;while(t>=0){/*计算位数*/t=t/10;k++;}pstr=(char*)malloc((k+2)*sizeof(char));/十申请字符串的存储空间*/if(pstr=0)return-1;i=0:192021222324252627282930if(num<0){num=-num;pstr[0]='-';i=1;}for(;k>0;k--){/*形成字符串*/pstr[i++]=num%10;num=num/10;}pstr[k]='\0’;/*设置字符串结尾*/printf("%s",pstr);free(pstr);

4、return0:}试题三阅读以下说明和C代码。  [说明]  某市在进行市长选举,该市共分为M个选区(1<M<6,从1开始顺序编号),共有N个竞选者参选(1<N<5,从A开始顺序编号)。经投票后,所得选票数据如表3-1所示。表3-1选票数据选区竞选者A竞选者B竞选者C竞选者D1192482063721479031221318612121384114214083952671338229  现已将选票数据存入文本文件data.txt,该文件内容格式如下:共有M行,每行N+1个整数,第一个整数为选区编号,随后为N个竞选者在该选区所得票数。  下面的程序先从文件中读入选票数据

5、存入二维数组data,然后完成下列功能:  a.计算并显示每个竞选者获得的选票数及占总选票数的百分比;  b.如果任一竞选者获得的选票数超过总选票数的50%,则显示该竞选者获胜;  c.如果没有竞选者获得总选票数的50%以上,则显示两位得票最高的竞选者需再进行决选。  在下面的程序代码中,竞选者A的编号为1,竞选者B的编号为2,以此类推。  [C代码]  #include<stdio.h>  #include<stdlib.h>  #defineM 5     /*选区数*/  #defineN 4     /*竞选者人数*/  int main(int argc,c

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

7、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号竞选者的得票总

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。