欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    [计算机类试卷]国家二级C语言机试(操作题)模拟试卷632及答案与解析.doc

    • 资源ID:498604       资源大小:31.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级C语言机试(操作题)模拟试卷632及答案与解析.doc

    1、国家二级 C语言机试(操作题)模拟试卷 632及答案与解析 一、程序填空题 1 使用 VC+2010打开考生文件夹下 blank1中的解决方案。此解决方案的项目中包含一个源程序文件 blank1 c。在此程序中,函数 fun的功能是:计算形参 x所指数组中 N个数的平均值 (规定所有数均为正数 ),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至 x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有 10个正数: 47、 30、 32、 40、 6、 17、 45、 15、 48、 26, 其平均值为30 500000。 移动后的输出为:

    2、30、 6、 17、 15、 26、 47、 32、 40、 45、 48。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include stdio h #define N10 double fun(double*x) int i, j; double av, yN; aV=0; for(i=0; i N; i+) *found* av+=【 1】 ; for(i=j=0; i N; i+) if(xi av) yj=xi; xi

    3、=-1; *found* 【 2】 ; i=0; while(i N) if(xi!=-1)yj+=xi; *found* 【 3】 ; for(i=0; i N; i+)xi=yi; return av; main() int i, double xN; for(i=0; i N; i+) xi=rand() 50; printf(“ 4 0f“, xi); ) print: f(“ n“); print: f(“ nThe average is: f n“, fun(x); print: f(“ nThe result: n“, fun(x); for(i=0; i N; i+) prin

    4、t: f(“ 5 0f“, xi); printf(“ n“); 二、程序修改题 2 使用 VC+2010打开考 生文件夹下 modi1中的解决方案。此解决方案的项目中包含一个源程序文件 modi1 c。在此程序中,假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数 fun的功能是:删除数列中值为 X的元素,变量 n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h #define N20 fun(int*a, int n, int x) int p

    5、=0, i; an=x; while(x!=ap) p=p+1; *found* if(p=n) return-1; else for(i=p; i n-1; i+) *found* ai+1=ai; return n-1; void main() int wN=-3, 0, 1, 5, 7, 99, 10, 15, 30, 90, x, n, i; n=10; printf(“The original data: n“); for(i=0; i n; i+) printf(“ 5d“, wi); printf(“ nInput x(to delete): “); Scarlf(“ d“, &

    6、x); printf(“Delete: d n“, x); n=fun(W, n, x); if(n=-1) printf(*“No be found!* n n“); else printf(“The data afterdeleted: n“); for(i=0; i n; i+) printf(“ 5d“, wi); printf(“ n n“); 三、程序设计题 3 使用 VC+2010打开考生文件夹下 prog1中的解决方案。此解决方案的项目中包含一个源程序文件 prog1 c。在此程序中,编写函数 fun,其功能是:判断 t所指字符串中的字母是否由连续递增字母序列组成 (字符串长度

    7、大于等于 2)。例如字符串: uvwxyz满足要求;而字符串: uvxwyz不满足要求。 注意:部分源程序存放在 PROG1 C中,请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun指定的部位填入所编写的若干语句。 试题程序: #include stdio h #include string h void NONO(); int fun(char*t) main() char s26; printf(“请输入一个字母组成的字符串: “); gets(s); if(fun(s)pr2ntf(“ s是由连续字母组成的字符串 n“, s); else print: f(“ s不是由连续

    8、字母组成的字符串 ! n“, s); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE*fp, *wf; int i; char s26, *p; fp=fopen(“c: test in dat“, “r“); wf=fopen(“c: test out dat“, “w“); for(i=0; i 10; i+) fgets(S, 26, fp); P=strchr(s, n); if(P)*p=0; if(fun(s)fprintf(wf, “ s n“, s+2); else fprintf(wf, “ s n“, s

    9、trrev(s); fclose(fp); fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 632答案与解析 一、程序填空题 1 【正确答案】 (1)xi N (2)j+或 +j (3)i+或 +i 【试题解析】 填空 1: av代表平均值,本题考查了怎样求平均值,因此本空应该填写 xi N。 填空 2:通过 for循环和 if判断找到 xi中比平均值小的数,并把这些值赋值给yj,因此本空应该填写 j+或者 +j。 填空 3:通过 while循环语句,把 xi中比平均值大的数放在数组 y的后半部分,因此本空应该填写 i+或者 +i。 二、程序修改题 2 【正确答案】 (1)if

    10、(p=n)return-1; (2)ai=ai+1; 【试题解析】 (1)需要确定 if条件语句的条件表达式,发现变量 p大写, C语言中变量是区别大小写的。 (2)删除数列中的元素,删除后,后面的元素依次前移一个位置,因此此处应为ai=ai+1;。 三、程序设计题 3 【正确答案】 int fun(char*t) int len=strlen(t); if(len 2) return0; char before ch=t0, char current ch; int flag=1; for(int i=1; ti!= 0; +i) current_ch=ti; iffbefore_ch!=c

    11、urrent_ch-1) flag=0; break; before_ch=current_ch; return flag; 【试题解析】 函数 fun的功能是判断指针 t指向的字符串是否是由连续递增的字母构成,返回值为整数, 0代表不满足条件。根据题目要求,字符串长度必须大于等于 2,所以首先需要对 t指向的字符串进行长度判断,小 于 2的字符串返回 0。接着需要对字符串中的连续字符,逐个进行比较。 C语言中字符变量可以当作整数使用,所以当前字符只有是前一个字符的 ASCII码 +1,才能说它们是连续递增字母序列,然后比较后一个字符与当前字符的 ASCII码,如果字符串中的所有字符都满足条件,则返回 1;否则说明该字符串不满足要求,此时设置 flag=0,后面的字符也


    注意事项

    本文([计算机类试卷]国家二级C语言机试(操作题)模拟试卷632及答案与解析.doc)为本站会员(dealItalian200)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开