ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:21.02KB ,
资源ID:7839463      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7839463.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第4章数组c习题答案解析文档格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第4章数组c习题答案解析文档格式.docx

1、C.当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D.只有元素a00和a01可得到初值,其余元素均得不到确定的初值【解析】二维数组初始化时,行大小可以省略,被省略的大小根据初值的个数系统来确定, 本题中,有2个初值说明是1行4列,所以第一维为1。元素a00和a01赋初值为0 , 其余元素初值系统默认为 0。6.以下能对二维数组 c进行正确的初始化的语句是【 】A.in t c3=3,3,4;B.i nt c3=3,3,4;C.int c32=3,3,4,5;D.int c3=3,3;【解析】二维数组初始化时,行大小可以省略,列大小不可以省略,所以答案中初始值行数多于数组

2、大小中的行大小, 也是错误的。另外初始化时,空位置,故D错误。7.以下不能对二维数组 a进行正确初始化的语句是【 】A.int a23=0;B.i nt a3=1,2,0;C.int a23=1,2,3,4,5,6;D.i nt a3=1,2,3,4,5,6;【答案】C8阅读下面程序,则程序段的功能是【 】#in cludeusing n amespace std;int mai n()int c=23,1,56,234,7,0,34,i,j,t;for(i=1;i=0 & tcj)cj+1=cj;j-; cj+1=t; for(i=0;i+) coutcit;putchar(n); retu

3、rn 0;A.对数组元素的升序排列B.对数组元素的降序排列C.对数组元素的倒序排列D.对数组元素的随机排列【解析】每层外层for循环结束会增加对一个元素的排序,确定 c0 ,c14-1所示。c0 | c1c2 c3c4c5c623156234 77 034n1图4-1第一次排序第二次将c2分别与前2两个元素比较,插入最前面,确定 c0 ,c1, c2A答案错误。C 初值之间不能有的大小顺序,如图的大小顺序,如图4-2所示。c0c1c2c3c5 c656 23434 37231 34 i名t=56图4-2第二次排序以此类推,外层 6次循环后,将无序的数组实现大到小的降序排列。9.下列选项中错误的

4、说明语句是【 】A.char a= t , 00 y, o, u,B.char a=toyou0;C.char a=D.char a= ,toyo;10.下述对C+语言字符数组的描述中错误的是【 】A.字符数组的下标从 0开始B.字符数组中的字符串可以进行整体输入 /输出C.可以在赋值语句中通过赋值运算符 “= 对字符数组整体赋值D.字符数组可以存放字符串11以下二维数组c的定义形式正确的是【 】A.i nt c3B.float c3,4C.double c34D.float c(3)(4)12.已知:int c34;则对数组元素引用正确的是【 】A.c14B.c0C.c1+00D.以上表达都

5、错误13.若有以下语句,则正确的描述是【 】char a=toyouchar b= , o , y , u A.a数组和b数组的长度相同B.a数组长度小于b数组长度C.a数组长度大于b数组长度D.a数组等价于b数组【解析】a数组中存放的是字符串, 数组大小为6个字节空间,分别存放t,和y0, ob数组的长度为5个字节空间,只存放t o ,5个字符。o , u二、填空题1.若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是 。【答案】32.设有数组定义: char array=China则数组array所占的空间为 个字节。【答案】63假定int类型变量占用两个字节,其有

6、定义: int x10=0,2,4;,则数组x在内存中所占字节数是 。【答案】204.下面程序的功能是输出数组 s中最大元素的下标,请填空。 int k, p,s=1, -9, 7, 2,-10, 3;for(p =0, k =p; psk) cout ke ndl;return 0;【答案】k=p;5.下面程序是删除输入的字符串中字符 ,请填空。int mai n() char s80; int i,j;gets(s);for(i=j=0;si!= 0 ;if(si!= H)sj= 0;puts(s);【答案】sj+ =si;【解析】 此处相当于补充了 2条语句,等价于sj =si; j+;

7、。6.已知:char a20= abc,b20= defghi则执行 coutstrlen(strcpy(a,b);语句后的输出结果为 。 、 /7.有如下定义语句:int aa3=12,23,34,4,5,6,78,89,45;,则45在数组aa中的行列坐标各为【答案】2和28.若二维数组a有m列,则计算任一元素 aij在数组中相对位置的公式为(假设 a00位于数组的第一个位置上) 。【答案】i*m+j+19.定义如下变量和数组:int k;int a33=9,8,7,6,5,4,3,2,1;则语句 for(k=0;k3;k+) coutakk; 的输出结果是 。【答案】951【解析】定义的

8、二维数组可以描述一个方阵:/ 9 8 7/ 6 5 4 / 3 2 1 /语句功能是实现该方阵主对角线上元素的输出。 10.已知:char a15,b15=l love chin a 则在程序中能将字符串 I love chi na赋给数组a的语句是 。【答案】strcpy(a,b);三、读程序写结果1.程序代码如下char arr24;strcpy(arr0,youstrcpy(arr1,mearr03=arr0【答案】you&me2.程序代码如下:char a=a, bcde, f g,hOint i,j;i=sizeof(a);j=strle n(a); i ,j【答案】9,83.程序代

9、码如下:int i;int a33=1,2,3,4,5,6,7,8,9;for(i=0;a2-ii;【答案】753【解析】程序功能是实现一个方阵次对角线上元素的输出。4.程序代码如下:char a30=nice to meet you!strcpy(a+strle n( a)/2,yo ua【答案】nice to you5.程序代码如下:int k30=12,324,45,6,768,98,21,34,453,456;int coun t=0,i=0;while(ki)if(ki%2=0|ki%5=0)coun t+;i+; count 0) puts(a);else if(k,所以结果输出字

10、符串 a。四、编程题1 编程实现功能:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。思路:fun函数的2个形式参数,分别接收数组名,即数组的首地址,和数组中存放的原始数据的个数,fun函数对原始数组按题目处理后,在主函数中输出的数组 a就是处理后的数组,这里函数之间参数传递属于地址传递。程序代码如下:const N=80;int fun (i nt a, int

11、 n) int i,j=1; n; i+)if(aj-1!=ai) aj+=ai;return j; int aN= 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10, i, n=19;原始数组中的数据是: 19;ai a;while (a *N) sum+=a; x n=a; n+; cin输入的n名学生成绩为:for (i=0; in; i+) coutxiave=su m/n;平均分:ave低于平均分的成绩:if (xiave) cout3编程实现功能:对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第 一个不相同字符的 ASCII码值之差。例如:

12、输入的两个字符串分别为 abcdefg和abceef,则输出为-1。题目要求实现的功能,相当于字符串处理函数 strcmp的功能,即:图4-3字符串比较示意图使用循环逐个比较两个字符串的每个字符, 当字符出现不相等时, 跳出循求不相同的两个字符的ASCII码值的差输出。#i nclude char str180, str280,c; int i=O,s;gets (str1);gets (str2);while (str1i=str2i) & (str1i!0) i+;s= str1i-str2i;s4 编程实现功能:求二维数组周边元素之和。二维数组中的数据可以看成一个二维矩阵,例如下面的二维

13、数组,输出周边元素之和为:sum=48,用两个并列的for循环实现求累加和。234567 using n amespace std;const M=4;const N=4; int aMN,i,j,sum=O;M; i+) for (j=0; jaij; i+) /*求第1行和第4行元素和*/ sum+=a0i;sum+= aM-1i;for (i=1;M-1; i+) /*求第1列和第4列元素和,/ 但不包括 a00, a30, a03, a33 四个角上的元素 */ sum+=ai0;sum+= aiN_1;二维数组周边元素之和为:sum=0;j-)/*求主对角线上元素和*/*求次对角线上元素和*/if(i+j=2 ) b=b+ arrij;主对角线元素和为:次对角线元素和为:b2 )ioma nip int main() int i;long f10=1,1;for (i=2;30;fi=fi-2+fi-1;10; if(i%3=0) coutn coutsetw(12)fi;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2