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

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

1、国家二级( C语言)机试模拟试卷 240及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:在形参 ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。 ss所指字符串数组中共有 N个字符串,且串长小于 M。程序中库函数 substr(s1, s2)的功能是在 s1串中查找 s2子串,若没有,函数值为 0,若有,为非 0。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #inclu

2、de #define N 5 #define M 15 void fun(char(*ss)M, char*substr) int i, find=0; *found* for(i=0; i #include #include void fun(char *p) int k = 0; for(; *p; p+) if(k) /*found*/ if(*p= ) k = 0; /*found*/ *(p-1)= toupper(*(p-1); else k = 1; main() char chrstr64; int d ; printf(“nPlease enter an English se

3、ntence within 63 letters: “); gets(chrstr); d=strlen(chrstr); chrstrd = ; chrstrd+1 = 0 ; printf(“nnBefore changing:n %s“, chrstr); fun(chrstr); printf(“nAfter changing:n %s“, chrstr); 三、程序设计题( 40分) 2 请编写函数 fun,其功能是:计算并输出 例如,在主函数中从键盘给 n输入 20后,输出为: s=534 188884。 注意:要求 n的值大于 1但不大于 100。 部分源程序在文件 PROGl

4、C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。#include#includedouble fun(int n)main() int n; double s; printf(“ n nInput n:“); scanf(“ d“, *p; p+)”语句中 for循环条件中 p的定义应该为字符型指针变量, *p是取 p所指存取单元的值,所以 “if(p= )”应该改为 “if(*p= )”。 ( 2)题干中要求是将每个单词的最后一个字母改成大写,所以它的位置应该是挨着空格的前一个字符,应该是指针 p指向字符的前一 个位置, “*p=toupper(*(p-1)”是将改动的值赋给了 p所指的空格,所以应该改为 “*(p-1)= toupper(*(p-1);”且语句未尾应有分号。 三、程序设计题( 40分) 2 【正确答案】 int i; double fac=1 0; double sum=1 0; for(i=2; i=n; i+) fac+=sqrt(i); sum+=fac; return sum; 【试题解析】 (1)根据题干中给出的数列,推出每一项是在前一项的基础上加当前项数的平方 根,第 n项的项数为 n。 (2)在循环中求得每一项,然后对其进行累加求和。

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

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

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