首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > C语言 > 上机题库 > 正文

2010计算机等考二级C:上机习题12套(1)

来源:考试吧Exam8.com) 2010-9-12 16:26:13 考试吧:中国教育培训第一门户 模拟考场
考试吧提供了“2010年计算机等级考试二级C:上机习题12套”,帮助考生备战等考。更多资料请访问考试吧计算机等级考试网(www.exam8.com/computer/djks/)

  第一套上机试题

  一、改错题

  【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。

  #include"stdio.h"

  #define n 4 #define m 3 /*语法错,#define m 3需另起一行*/

  int a[n][m],s[m];

  p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/

  {int k,i,x;

  x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/

  for(k=1;k

  if(a[k][j]

  {i=k;s[j]=x=a[k][j];}

  return i;

  }

  main()

  {int index[m],i,j,k;

  for(i=0;i

  for(j=0;j

  scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/

  for(j=0,j

  {index[j]=p[j];

  printf("a[%d,%d]=%d\n",index[j],j,s[j]);

  }

  i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/

  for(j=1;j

  if(s[j]

  {i=s[j];k=j;}

  printf("min=a[%d,%d]=%d",index[k],k,i); }

  二、编程题

  【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式xi+1=(25*xi+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。

  #include

  #include

  #define n 8

  /*函数gcd实现求最大公约数的算法*/

  gcd(int a,int b)

  {int c;

  while(b!=0)

  {c=a%b;a=b;b=c;}

  return a;

  }

  main()

  {int i,j,x,a[3][n];

  FILE *f;

  if((f=fopen("d:\\temp\\1\\myf2.out","w"))= =NULL)

  {printf("Create File myf2.out Failed!\n");exit(0);}

  x=26;

  /*下面二重for循环实现给第1、2行数组元素赋值的功能*/

  for(i=0;i<2;i++)

  for(j=0;j

  {a[i][j]=x;x=(25*x+357)%1024;}

  /*下面for循环通过调用gcd函数实现给第3行数组元素赋值的功能*/

  for(j=0;j

  a[2][j]=gcd(a[0][j],a[1][j]);

  /*下面for循环实现按题目所给格式输出二维数组的功能*/

  for(i=0;i<3;i++)

  {for(j=0;j

  fprintf(f,"\n");

  }

  fclose(f); }

  相关推荐:2010年9月计算机等级考试冲刺备考指导专题
       2010全国计算机等考二级C语言考前密卷汇总
       2010年计算机等级考试二级C语言常见知识点
       计算机等级考试二级C语言题型分析与应试技巧
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。