全国计算机等级考试 2011年3月.docx_第1页
全国计算机等级考试 2011年3月.docx_第2页
全国计算机等级考试 2011年3月.docx_第3页
全国计算机等级考试 2011年3月.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、程序填空题请补充main函数,该函数的功能是:输出一个44的矩阵,要求必须使用行指针表示输出变量。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。试题程序:#include #include void main() static int arr 44= 9,8,7,6,6,5,4,3,3,2,1,0,2,4,6,8;int (*p)4,j,i;p=_1_;system(CLS);for (i=0;i4;i+) printf(nn);for (j=0;j4;j+)printf(%4d,_2_);1、arr2、*(*(p+i)+j)解析:题目中要求必须使用行指针表示输出变量,由程序可知变量p为行指针,其应该初始化为数组的首地址。因此第一空填arr;每输出一个数组元素时,变量p为上一行的末地址加上该行的偏移量,因此第二空填*(*(p+i)+j)。一、程序填空题请补充函数proc,该函数的功能是计算下面公式SN的值:例如,当N20时,SN29.031674。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。试题程序:#include #include #include double proc(int n) double s=1.0,s1=0.0;int k;for (【1】;k=n;k+) s1=s;【2】;return【3】;void main() int k=0;double sum;system(CLS);printf(nPlease input N= );scanf(%d,&k);sum=proc(k);printf(nS=%lf ,sum);【1】k=2【2】s+=(2*k-1)/s1【3】s解析:由题目中所给公式可知,多项式的第一项为1,变量s中存放多项式的和,其初始值为1,因此,循环从第二项开始,故【1】填k=2;变量s1中存放各项表达式的值,由公式可知【2】填s+=(2*k-1)/s1;题目中要求将多项式的和返回到主函数当中,因此【3】填s。二、程序改错题下列给定程序中,函数proc的功能是根据整型形参n,计算如下公式的值。y=1-1/(22)+1/(33)-1/(44)+(-1)(n+1)/(nn)例如,n中的值为10,则应输出0.817962。请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include double proc(int n) double y=1.0;/*found*/int j=1;int i;for (i=2; i=n; i+) j=-1*j;/*found*/y+=1/(i * i);return(y);void main() int n=10;system(CLS);printf(nThe result is %lfn ,proc(n);(1)错误:int j=1;正确:double j=1.0;(2)错误:y+=1/(i * i);正确:y+=j/(i * i);解析:由函数proc可知,变量j为控制每一项符号的变化,并且作为运算的分子,应改为double型变量。因此int j=1应改为double j=1.0;变量y中存放多项式的值,多项式中的每一项符号由变量j决定,因此y+=1/(i * i)应改为y+=j/(i * i)。三、程序设计题编写一个函数,从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(以*作为结束输入的标志)。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include #include #include #include Char *proc(char (*a)81, int num, char *max) void main() char str1081,*ps;int n, i=0;system(CLS);printf(输入若干个字符串:);for (i=0;i5;i+) gets(stri);printf(nThe %d string :n ,N);for (i=0;i5;i+) puts(stri);n=5;ps=proc(str,n,ps);printf(nmax=%sn,ps);proc(char (*a)81, int num, char *max) int i=0;max=a0;for(i=0;inum;i+)从num个字符中找出最长的一个字符串if(strlen(max)strlen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论