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

上传人:orderah291 文档编号:502904 上传时间:2018-11-29 格式:DOC 页数:4 大小:28.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)机试模拟试卷164及答案与解析.doc_第1页
第1页 / 共4页
[计算机类试卷]国家二级(C语言)机试模拟试卷164及答案与解析.doc_第2页
第2页 / 共4页
[计算机类试卷]国家二级(C语言)机试模拟试卷164及答案与解析.doc_第3页
第3页 / 共4页
[计算机类试卷]国家二级(C语言)机试模拟试卷164及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级( C语言)机试模拟试卷 164及答案与解析 一、程序填空题( 30分) 1 请补充函数 proc(),其功能是:计算并输出给定 10个数的方差。 例如,给定的 10个数为 12 0, 9 0, 26 0, 5 0, 6 0, 31 0, 9 0,3 0, 8 0, 18 0,输出为 s=8 877500。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填人所编写的若干表达式或语句。 试题程序: #include #include double proc(double x10) int i; double avg=0 0;

2、double sum=0 0; double abs=0 0; double sd; for(i=0; i void proc(char * str) int i, j; /*found* for(i=j=0; stri!=0; i+) if(stri!=F) /*found* strj=stri; strj=0; void main() char str80; printf(”nEnter a string: ”); gets(str); printf(”The original string: ”); puts(str); proc(str); printf(”The string aft

3、er deleted: ”); puts(str); printf(”nn”); 三、程序设计题( 40分) 3 假定输入的字符串中只包含字母和 *号。请编写函数 proc(),它的功能是:将字符串中的前导 *号全部删除,中间和后面的 *号不删除。 例如,若字符串中的内容为 *a*bc*def*g*,删除后,字符串中的内容则应当是 a*bc*def*g*。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填人所编写的若干语句。 试题程序: #include #include void proc(char*str) void main

4、() char str81; printf(“Enter a string: n“); gets(str); proc(str); printf(“The string after deleted: n“); puts(str); 国家二级( C语言)机试模拟试卷 164答案与解析 一、程序填空题( 30分) 1 【正确答案】 【 1】 sum+=x【 i】【 2】 abs+=(xi;一 avg)*(xi一 avg)【 3】sqrt(abs 10) 【试题解析】 由函数 proc()可知,变量 sum中存放 n个数的和,因此,【 1】处填 “sum+=xi”;然后求其平方差,因此,【 2】处填

5、 “abs+=(xi avg)*(xiavg)”;最后求 10个数的方差,因此,【 3】处填 “sqrt(abs 10)”。 二、程序修改题( 30分) 2 【正确答案】 (1)错误: for(i=j=0; stri!=0; i+) 正确: for(i=j=0; stri!:0; i+) (2)错误: strj=stri; 正确: strj+=stri; 【试题解析】 根据题目中的要求,从字符串 str中删除 所有大写字母 F,需要检查字符串 str中的每一个字符,直到字符串结束,因此, “for(i=j=0; stri!=0;i+)”应改为 “for(i=j=0; stri!=0; i+)”

6、;将每一个不是 F的字符放入原来的字符串中,形成新的字符串,因此, “strj=stri; ”应改为 “strj+=stri; ”。 三、程序设计题( 40分) 3 【正确答案】 void proc(char * str) char * p=str; while(*p=*)p+; 通过 P的移动来达到使 P指向第一个不是 *号的字符 for(; *p!=0; p+, str+) 把从第一个不是 *号的字符放到 a中 *str=*P; *str=0; 最后用 0作为字符串结束标志 【试题解析】 题目中要求将字符串中的前导 *号全部删除,首先将指针 P移动到第一个不是 *的字符,将指针 p之后的字符放入原来的字符串中,并为新的字符串添加结束符。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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