【计算机类职业资格】数组(三)及答案解析.doc
《【计算机类职业资格】数组(三)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】数组(三)及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、数组(三)及答案解析(总分:100.00,做题时间:90 分钟)一、程序修改(总题数:1,分数:20.00)1.给定程序 MODI1.C中 fun()函数的功能是:将 n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。#includestdio.h#includestdlib.hfun(int n,int *a)int i,j,p,t;for(j=0;jn-1;j+)p=j;/*found*/for(i=j+1;in-1;i+)if(apai)/*found*/t=i;if(p!=j)t=aj;aj=ap;ap=t;)putarr(int n,int *z)int i;for
2、(i=1;i= n;i+,z+)printf(“%4d“,*z);if(!(i%10)printf(“/n“);printf(“/n“);main()int aa20=(9,3,0,4,1,2,5,6,8,10,7,n=11;printf(“/n/nBefore sorting %d numbers:/q“,n);putarr(n,aa);fun(n,aa);printf(“/nAfter sorting %d numbers:/n“,n);putarr(n,aa);(分数:20.00)_二、程序设计(总题数:3,分数:60.00)2.编写一个函数 fun(),其功能是求出一个 2M整型二维数
3、组中最大元素的值,并将此值返回调用函数。#includestdio.h#define M 4int fun(int aM)main()int arr2M=5,8,3,45,76,-4,12,82);void NONO();printf(“max=%d/n“,fun(arr);(分数:20.00)_3.函数 fun()的功能是:将 s所指字符串中除了下标为奇数,同时 ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在 t所指的数组中。例如,若 s所指字符串中的内容为“ABCDEFG12345”,其中字符 A的 ASCII码值虽为奇数,但所在数组中的下标为偶数,
4、因此必须删除;而字符 1的 ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他以此类推。最后 t所指数组中的内容应是“135”。#includestdio.h#includestring.hvoid fun(char *s,char t)main()char s100,t100;void NONO();printf(“/nPlease enter string s:“);scanf(“%s“,s);fun(s,t);printf(“/nThe result is:%s/n“,t);NONO();(分数:20.00)_4.请编写一个函数 fun(),其功能是找出一维整型数组元素
5、中最大的值和它所在的下标,并将它们通过形参传回。数组元素中的值已在主函数中赋予。在主函数中,x 是数组名,n 是 x中的数据个数,max 存放最大值,index 存放最大值所在元素的下标。#includestdlib.h#includestdio.hvoid fun(int a,int n,int *max,int *d)main()int i,x20,max,index,n=10;void NONO();for(i=0;in;i+)xi=rand()%50;printf(“%4d“,xi);)printf(“/n“);fun(x,n,printf(“Max=%5d,Index=%4d/n“,
6、max,index);NONO();(分数:20.00)_三、程序填空(总题数:1,分数:20.00)5.给定程序中,函数 fun()的功能是找出 NN矩阵中每列元素中的最大值,并按顺序依次存放于形参 b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#includestdio.h#define N 4void fun(int(*a)IN,int *b)int i,j;for(i=0;iN;i+)/*found*/bi= (1) ;for(j=1;jN;j+)/*found*/if(bi (2) ajj)bi=ajj;main()int xNN=12,5
7、,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN,i,j;printf(“/nThe matrix:/a“);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%4d“,xij);printf(“/n“);/*found*/fun (3) ;printf(“/nThe result is:“);for(i=0;iN;i+)printf(“%3d“,yi);printf(“/n“);(分数:20.00)填空项 1:_数组(三)答案解析(总分:100.00,做题时间:90 分钟)一、程序修改(总题数:1,分数:20.00)1.给定程序 MODI1.C中 fun(
8、)函数的功能是:将 n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。#includestdio.h#includestdlib.hfun(int n,int *a)int i,j,p,t;for(j=0;jn-1;j+)p=j;/*found*/for(i=j+1;in-1;i+)if(apai)/*found*/t=i;if(p!=j)t=aj;aj=ap;ap=t;)putarr(int n,int *z)int i;for(i=1;i= n;i+,z+)printf(“%4d“,*z);if(!(i%10)printf(“/n“);printf(“/n“);main(
9、)int aa20=(9,3,0,4,1,2,5,6,8,10,7,n=11;printf(“/n/nBefore sorting %d numbers:/q“,n);putarr(n,aa);fun(n,aa);printf(“/nAfter sorting %d numbers:/n“,n);putarr(n,aa);(分数:20.00)_正确答案:(1)for(i=j+1;in;i+) (2)p=i;)解析:解析 本题中函数的功能是将 n个无序整数从小到大排序。题目中利用 for循环对无序数进行了比较排序。排序功能是要对 n个无序整数进行比较排序,内层 for循环中的循环限制应该是小于
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 数组 答案 解析 DOC
