3月计算机二级C语言题库南开100题.pdf

  1. 1、本文档共354页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明:本题库是针对2014年3月份考试的上机考试题库,本题库共有 100套题目 (每套题 目包含3道题:一道程序填空题、一道程序修改题、一道程序设计题),真实考试的时候, 考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套题目(包含三 道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机 会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失) 二级C语言上机试题汇编 ※※※※※※※※※※※※※※※※※※※※※※※※※ 第1套: 给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定 所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平 均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均 值和移动后的数据。 例如,有 10个正数:4630324061745 154826,平均值为: 30.500000 移动后的输出为:3061715264632404548 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #includestdlib.h #includestdio.h #defineN 10 doublefun(double*x) {inti,j; doubleav,y[N]; av=0; /**********found**********/ for(i=0;iN;i++)av+=__1__; for(i=j=0;iN;i++) if(x[i]av){ /**********found**********/ y[j]=x[i];x[i]=-1;__2__;} i=0; while(iN) {if(x[i]!=-1)y[j++]=x[i]; /**********found**********/ __3__; } for(i=0;iN;i++)x[i]=y[i]; returnav; } main() {inti;doublex[N]; for(i=0;iN;i++){x[i]=rand()%50;printf(%4.0f,x[i]);} printf(\n); printf(\nTheaverageis:%f\n,fun(x)); printf(\nTheresult:\n,fun(x)); for(i=0;iN;i++)printf(%5.0f,x[i]); printf(\n); } 解题思路: 第一处:求出N个数的平均值,所以应填:N。 第二处:利用for循环语句,把数组x 中小于平均值的数,依次存放到数组y 中,其中位置 由 变量j 来控制,所以应填:j++。 第三处:i是while循环体的控制变量,每做一次循环均要加1。 *************************************************** 给定程序MODI1.C 中函数 fun 的功能是:统计字符串中各元音字母(即:A、 E、I、O、U)的个数。注意:字母不分大、小写。 例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #includestdio.h fun(char*s,intnum[5]) {intk,i=5; for(k=0;ki;k++) /**********found**********/ num[i]=0; for(;*s;s++) {i=-1; /**********found**********/ switc (s) {casea:caseA: {i=0;break;} casee:caseE: {i=1;break;} casei:caseI: {i=2;break;} caseo:caseO: {i=3;break;} caseu:caseU: {i=4;break;} } if(i=0) num[i]++; } } main() {chars1[81];intnum1[5],i; printf(\nPleaseenterastring:);gets(s1); fun(s1,num1); for(i=0;i5;i++)printf(%d,num1[i]);printf(\n); } 解题思路: 第一处:num初始化错误,应为:num[k

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档