资源描述:
《matlab题目及其答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:2,在程序中定义的变量名要与公式的变量相同)。例如,输入圆的半径值:19.527,输出为:s=598.949991。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。试题程序:#includedoublefun(doubler){return3.14159*【1】/2.0;}voidmain(){doublex;printf("Enterx:");s
2、canf("%lf",【2】);printf("s=%lf",fun(【3】));}题目二下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:f(x)=请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include#include3、ath.h>/*************found**************/f(doublex){if(x==0.0
4、
5、x==2.0)return0.0;elseif(x<0.0)return(x-1)/(x-2);elsereturn(x+1)/(x-2);}编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)例如,若n的值为11时,函数的值为1.833333。注意:部分源程序给出如下。请勿改动main函数和其他函数
6、中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include#include#include#includefloatfun(intn){}voidmain(){FILE*wf;intn;floats;system("CLS");printf("PleaseenterN:");scanf("%d",&n);s=fun(n);printf("Theresultis:%f",s);/***********************
7、*******/wf=fopen("out.dat","w");fprintf(wf,"%f",fun(11));fclose(wf);/*****************************/doublefun(intn){inti;doubles=0.0,y;for(i=-n;i<=n;i++){y=f(1.0*i);s+=y;}/*************found**************/returns}voidmain(){system("CLS");printf("%f",fun(5));}【参考答案】(1)
8、r*r(2)&x(3)x【考点分析】本题考查:圆面积计算公式*r*r;scanf()函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf()函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。【解题思路】填空1:计算圆的面积,公式为:*r。填空2:scanf()函数一般形式为scanf(格式控制,地址表列),因此填入&x。填空3:函数的实际参数是圆的半径x。【解题宝典】在程序中,
9、如出现"scanf("%lf",【】);",则主要考查后面的地址表列【】,注意地址是由地址运算符"&"后跟变量名组成的。【参考答案】(1)错误:f(doublex)正确:doublef(doublex)(2)错误:returns正确:returns;【考点分析】本题考查:函数的定义,其一般形式为"类型标识符函数名(形式参数表列)",其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。【解题思路】该程序的流程是,fun()程序对f(n)项循环累加,并且采用条件选择语句计算函数f(x)的值。本题的错误在于未定义函数f(
10、doublex)的返回值类型。C语言规定,在未显式声明的情况下,函数返回值默认为int型。【解题宝典】我们在做改错题的时候,首先应该检查C语言语法是否有问题,上机考试中有很多题目会考到语法的错误。另外,函数在定义时,如果省略类型标识符