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

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

1、国家二级( C语言)机试模拟试卷 225及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:求 ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n所指变量中。 ss所指字符串数组中共有 M个字符串,且串长 #include #define M 5 #define N 20 /*found*/ int fun(char (*ss)【 1】 , int *n) int i, k=0, len=0; for(i=0; i*n) /*found*/ 【 3】 ; k=i; return(k); main() char ssMN=“sha

2、nghai“,“guangzhou“,“beijing“, “tianjing“,“cchongqing“; int n,k,i; printf(“nThe original strings are :n“); for(i=0;i int fun(char*str, char*substr) int i, j, k, num=0; *found* for(i=0, stri, i+) for(j=i, k=0; substrk=strj; k+, j+) *found* If(substrk+1= 0) num+; break; return num; main() char str80, s

3、ubstr80; printf(“Input a string: “); gets(str); printf(“Input a substring: “); gets(substr); printf(“ d n“, fun(str, substr); 三、程序设计题( 40分) 3 请编写函数 fun,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给 n输入 15,则输出为:s=2 718282。 注意:要求 n的值大于 1但不大于 100。 部分源程序在文件PROGl c中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #in

4、cludedouble fun(int n)main() int n; double s ; printf(“Input n: “); scanf(“ d“, ”可知, fun函数的第一个参数为数组首地址,是指针变量,故第一空处的 fun函数定义应为“N”。 第二空:由审题分析可知, i=0时,记录长度的变量 *n应该赋初值 len,故第二空处应为 “len”。 第三空:由审题分析可知,如果 len比 *n大,那么 *n记录这个大的值,故第三空处应为 “*n=len;”。 二、程序修改题( 30分) 2 【正确答案】 (1)for(i=0; stri; i+) (2)if(substrk+1=

5、 0) 【试题解析】 (1)第二个标识下的 for循环中的循环表达式之间是使用分号来进行分割的,所以第二个标识下 “for(i=0, stri, i+)“改为 “for(i=0; stri; i+)“。 (2)第二个标识下 “If(substrk+1= 0)“,含义是判断 substr是否到达了尾部,这里应该用 if来判断,在 C语言中没有 “If“关键字,故第二标识处应改成“if(substrk+1= 0)“。 三、程序设计题( 40分) 3 【正确答案】 double s=1; long t=1; int i; for(i=1; i=n; i+) t=t+i; *计算阶乘 * s+=1 t; *计算每项的值并累加至变 量 s中 * return s; *返回多项式的值 * 【试题解析】 (1)根据题干中给出的数列,推出每一项是阶乘的倒数,所以首先在循环中求得每一项的阶乘。其中阶乘的计算公式定义为:公式分为参数 n是 1和大于 1的两种情况,例如, 1的阶乘 1 !=1; 5的阶乘 5!=54321。 (2)然后求得阶乘分之一的累加和。

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

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

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