201709考试批次《面向对象程序设计》(结课作业)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

201709考试批次

《面向对象程序设计》结课作业

学生姓名学习中心

学号

专业年级层次

北京语言大学网络教育学院

《面向对象程序设计》结课作业

注意:

本学期所布置的结课作业,请同学一律按照以下要求执行:

1) 结课作业提交起止时间:2017年8月2日--9月11日。(届时平台自动关闭,逾期不予接收。)

2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;

3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结

课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;

4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;

5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。

一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)

1、#include

void main()

{

int i,s=0;

for(i=2;i<=30;i+=2) s+=i*i;

cout<<"s="<

}

答:计算并输出2^2+4^2+6^2+....+30^2的值

2、int s1(int n)

{

int x;

if(n==1) x=1;

else x=s1(n-1)+n*n;

return x;

}

答:函数的功能是:通过递归调用函数S1求得1^2+2^2+3^2+….+n^2的值

3、void fun5(char* a, const char* b)

{

while(*b) *a++=*b++;

*a=0;

}

答:实现字符串系统函数strcpy的功能把b所指的字符串拷贝到a所指的字符数组空间中

4、void fun3(int a[][N], int m, int n, int& row, int& col)

{

int x=a[0][0];

row=col=0;

for(int i=0;i

for(int j=0;j

if(a[i][j]>x) {

x=a[i][j]; row=i; col=j;

}

}

答:函数的功能是:找出数组中最大数所在的行和列

5、char* f8(char* str1, const char* str2)

{

int i=0,j=0;

while(str1[i]) i++;

while(str2[j]) str1[i++]=str2[j++] ;

str1[i]='\0';

return str1;

}

答:函数的功能是:把str2 链接到str1后面。

二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)

1、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。

55555

4444

333

22

1

答:

void p(int n) {

if(n!=0) {

for(int i=0; i

cout<

p(n-1);

}

}

2、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。

1

22

333

4444

55555

答:

void p(int n)

{

if(n==1)

{

printf("1\n");

return;

}

else

{

p(n-1);

for(int i=1; i<=n; i++)

{

printf("%d",n);

}

printf("\n");

}

}

void main()

{

p(5);

}

3、按照下面函数原型语句编写一个递归函数计算出数组a中n个元素的平方和并返回。int f(int a[],int n);

答:

int f(int a[],int n)

{if(n<=0) return 0;

else return(f(a,n‐1)+a[n‐1]*a[n‐1]);

}

4、根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。

class AA {

int* a;

int n;

int MS;

public:

void InitAA(int aa[], int nn, int ms) {

if(nn>ms) {cout<<"Error!"<

MS=ms;

n=nn;

a=new int[MS];

for(int i=0; i

}

int MaxMin(int& x, int& y); //从数组a的前n个元素中求出

//最大值和最小值,并分别由引用参数x和y带回,

相关文档
最新文档