东南大学(09级)c++上机考试试卷A(答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

东南大学计算机科学基础I上机考试东南大学09级计算机科学基础I上机试卷A一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,除了可以增加由{、回车等分隔符产生的行数外,不允许增加其它行数。【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。【题目】自定义函数的功能为统计数组中负数的个数,并且将负数改为0;主函数产生-20~79之间的n个随机数,调用自定义的函数,输出函数调用后数组的所有元素的值及原数组中包含的负数个数。修改程序,运行时能够得到如下的输出结果:产生的随机数为:214714-2049458384244-152561741717522716数组中负数的个数为:2负数清零后的数组为:21471404945838424402561741717522716程序中有十处错误。改错题评分标准:每错5分,共50分【含错误的源程序】#includeiostream#includecstdlibusingnamespacestd;//错误:命名空间usingnamespaceiostream;intClrMinus(int[],int);//错误声明:intClrMinus(int,int);intmain(){constintn=20;//错误变量声明intn=20intarr[n]={0},i;cout产生的随机数为:endl;for(i=0;in;i++)//数组元素范围错误for(i=1;i=n;i++){arr[i]=rand()%100-n;东南大学计算机科学基础I上机考试coutarr[i]'\t';}coutendl;cout数组中负数的个数为:ClrMinus(arr,n)endl;//错误函数调用:ClrMinus(arr[],n)cout负数清零后的数组为:\n;for(i=0;in;i++);//错误变量声明intn=20多了;coutarr[i]'\t';//错误数组作用域Arr[i]coutendl;return0;}intClrMinus(intArr[],intm){intcount=0;//未初始化intcount;for(inti=0;im;i++)//错误变量声明intn=20{if(Arr[i]0)//条件语句块错误:少了{}{Arr[i]=0;count++;}}returncount;}二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。【题目】寻找二维数组某个数,该数恰好是所在行各数的平均值,且是所在列中的最大值。例如:10121314151234523789202122232433145678其中22就是符合条件的数。东南大学计算机科学基础I上机考试【要求:】(1)设计函数intfun(inta[][5],int&i,int&j);完成在数组中寻找符合条件的数,将该数据返回,若不存在符合条件的数时函数返回0。(2)主函数完成:建立一个整型二维数组a[5][5],对数组a初始化的数据从键盘输入,(不允许编译时初始化),并将产生的数组写入文件“学号f2.txt”的第一行,数之间用空格隔开。调用函数fun(a,x,y)寻找符合条件的数,当函数返回值不为0时表示找到符合条件的数,将该数据及所在行位置、列位置写入文件“学号f2.txt”的第二行,写入文件的数据格式为:符合条件的数是:行位置为:列位置为:,中间用空格隔开。否则在文件中写入:不存在符合条件的数据。示范:写入文件中的数据格式为:第一行:a数组,元素之间用空格隔开第二行:符合条件的数是:22行位置为:3列位置为:2编程题评分标准:1.头文件引用是否正确2分2.主函数:22分(1)创建文件流对象与要求的文件相对应数否正确(2分)(2)是否关闭文件(2分)(3)变量初始化(2分)(4)产生a数组是否正确(8分)(5)将a数组是否按要求写入文件(4分)(6)将符合条件的数及其位置是否按要求写入文件(4分)3.fun函数:26分(1)求各行平均值,是否正确(8分)(2)求各列最大值,是否正确(8分)(3)条件满足判断返回是否正确(6分)(4)不满足条件返回是否正确(4分)#includeiostream#includefstreamusingnamespacestd;intfun(inta[5][5],int&i,int&j);intmain(){intx=0,y=0,m;东南大学计算机科学基础I上机考试ofstreamofile;ofile.open(学号f2.txt);cout输入数据(5行5列):;for(i=0;i5;i++)for(j=0;j5;j++)cina[i][j];for(i=0;i5;i++)for(j=0;j5;j++)ofilea[i][j]’‘;ofileendl;m=fun(a,x,y);if(m!=0){coutx''y''mendl;ofile”符合条件的数是::”m”\t行位置为:”x”\t列位置为:”y;}ofileendl;else{cout不存在符合条件的数endl;ofile不存在符合条件的数endl;}ofile.close();return0;}intfun(inta[][5],int&i,int&j){ints[5]={0},p[5]={0},max[5]={0};boolbo=0;for(i=0;i5;i++){for(j=0;j5;j++)s[i]+=a[i][j];p[i]=s[i]/5;}for(j=0;j5;j++){max[j]=a[0][j];for(i=0;i5;i++)if(a[i][j]max[j])max[j]=a[i][j];}for(i=0;i5;i++)for(j=0;j5;j++)if(max[j]==a[i][j]&&p[i]==a[i][j]){returna[i][j];东南大学计算机科学基础I上机考试}if(bo==0)return0;}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功