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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10081714.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序设计何钦铭颜晖第7章数组.docx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序设计何钦铭颜晖第7章数组.docx

1、第7章数组 【练习7 1】将例7-3程序中的break语句去掉,输出结果有变化吗?假设输入数据不变,输出什么?解答:当去掉break语句后,一旦找到数据将不跳出循环,而是继续往下找值为x的元素,因此程序输出会有变化。当输入数据仍为2 981 9时,输出将是index is 1 index佃4 【练习7-2】将数组中的数逆序存放。输入一个正整数n (Kn<=10),再输入n个整数,存 入数组a中,输出最大值及其对应的最小下标,下标从0开始。试编写相应程序。 解答: #in clude int main(void) int i,n,temp; int a[10];

2、printf("lnputi )n: scant(期 d: &n); printf(”lnput %d in\ger:fOr(i=0;i

3、放,在按顺序输出数组e中的n各元素。试编写相应程序。解答: #include int main(void) int i,index,n; int a[10]; printf("EnterM n;:scanff%d: &n); printf Enter %d integrs:",n); for(i=0;i=0;i + +) printf('%d : return 0; 【练习7-4]找出不是两个数组共有的元素。输入一个正整数n(l< nW10),再输入n个 整数.存入第1个数组中;然后输入一个正整数m

4、 (l int main(void) int ijXm,n,flag,equal; int a[25],b[25],c[25]; printf("Enter nj); scanff'%d &n); printEnter %d integers:",m); for(i=0;i

5、rs:",n); for(j=0;j

6、l; if(!flagX equal =0; for(二 0;j

7、输入数据不变,输出什么?与例7-7中的输 结果一样吗?为什么? for(j=0;j<2;j + +) for( i=0;i<3;i + +) 解答: 当把列下标作为外循环的循环变量,行下标作为内循环的循环变量时,输入的数据将以列优先的方式存放。当用上述for循环方式时,输出结果为:max=a [2] [0]=10与原例7-7不一样,因为当用上述方式输入是,二维数组中存放值如下: 3- 9 2 6 10- 1 【练习7-6]在例7-9的程序中,如果将遍历上三角矩阵改为遍历下三角矩阵,需要怎 样修改程序?运行结果有变化吗?如果改为遍历整个矩阵,需要怎样修改程序?输出是什么?为什么?

8、解答: 只需按要求修改矩阵的输出部分,方法如下,其运行结果不变。 for(i = 0; i < n; i + +) for(二 0;j

9、三角进行交换 } 【练习7-7]矩阵运算:读入1个正整数n(lWnW6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连 线。试编写相应程序。 解答: #inelude int main(void)( int i,j,n,sum; i nt ⑹)[6]; printf,(nput n:); scanfCAd'&n); printfInput arrayAirn); for(i=0;i

10、0; for(i=0;iint main(vo

11、id)( int m,nJj.count; int ⑹)[6],b[6]); printf("Enter Mr):; scanff'%d: &n); printf("EnterM n;: scant(期 d: &n); printf lnput array:,*h; for(i=0;i

12、 } for(i=0;i int day_of_year(int year, int month, int day); int main(void) ( int year.m on th,day,d(aye

13、jar; printf lnput year,month,day:); scanff'%d%d%d : &yeai; &m onth.&day); day_year=day_ofAear(year,month,day); printf("Days of year: %\day_year); return 0; } int day_of_year(int year.int monthjnt day) ( int kleap; int tab [2][13] = ( {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,3

14、0,31,30,31,31,30,31,30,31} }; leap 二 (yearW4 二二 0&&year%1!=0||yearW4 二二 0); for(k=l;k int main(void) ( int i,max,fl

15、ag; char a[80],op; printf Enter a x:); op=getchar(); fflush(stdin感/Setbuf(stdin,NULL); printf("Enter a string:i二 0; whi le((a[i]=g etchar=}\n'!) i ++; a[i二、0: max 二 0; flag=0; for(i=0;a[i,\Q=i + +) if(a[i] = =op)(max 二 i;flag=l; } if(flag==l) printfC 'M ax=%d : m ax); else printA'No

16、t Found!)驾 return 0; } 【练习7-11]字符串逆序:输入一个以回车符结束的字符串(少于80个字符),将该字符串逆序存放,输出逆序后的字符串。试编写相应程序。 解答: #in clude int main(void) ( int i; char str[80a [80]; printf("Enter a string:"); i二 0; while((str二_]getchar())二、rf) i ++; for(;i>=0;i--) putchar(str[i]); return 0; } 习题7 —选择题 1假定

17、int类型变量占用两个字节,其有定义:int x[1二{0,2,4测数组x在内存中所占字节数是 D o A 3 B 6 C 10 D 20 2. 以下能正确定义数组并正确赋初值的语句 是D。 A int N=5,b[N][N]; B. inta[l][2] = {{l},{3}}; C. intc[2]0={{1.2},{3;4}} D. intd(3) [ 2] = {{1,2},{34}}; 3若有定义:int⑵)[3 ]以下选项中对数组元素正确引用的是D 。 A a[2][0] B a[2][3] C . a [0][3] 4 .设有数

18、组定义:char array [,]ChinaM ;则数组array所占的空间为C。 A 4个字节B 5个字节C 6个字节D 7个字节 5 .下述对C语言字符数组的描述中错误的是Do A. 字符数组可以存放字符串 B. 宇符数组中的字符串可以整体输入、输出 C .可以在赋值语句中通过赋值运算符”二"对宇符数组整体 值 D.不可以用关系运算符对字符数组中的字符串进行比较 6有以下定义:char x[ ]="abcdefg“; char y[则正确的叙述为 C o A数组x和数组y等价B.数组x和数组y的长度相同 C数组X的长度大于数组y的长度D数组x的长度小于数组y的长度

19、7. 以下程序的输出结果是C。 int main(void) ( int』⑶={1,47,2,5,8,3,6.9}; int ij二<2; for (i=0;i<3;i++) printffHd\・[k][i]); } A.456 B 2 58 C 369 D 789 8. 以下程序的输出结果是B。 int main(void) { int aa[4][4] = {{l,2,3,4},{5,6,7,8},{3,9,10,2}.{4,2.9,6}}; int i, s=0: for(i=0;i<4;i++) s+二 aa[i] ;l] printfWd\n 冲);

20、} A B 19 C 13 D 20 二.填空题 1设有定义语句:int a[][3] = {{0},{l则数}组元素a[l][2^值是0 2 .下列程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。 int main(void) (intx[10],a[9].i; for(i=0; i<10; i + +) 「c%df &x[i]); for」=1_; i<10; i + + ) a[i-l]=x0+_x[l-l]_; 3写出下列程序的运行结果是-12 o 3写出下列程序的运行结果是-12 o for(二 0; i<9; i+ +) pr

21、intffa 3]) printf(M); 4写出下面程序的运行结果 4写出下面程序的运行结果 int main(void) ( int a[10] = {10,1,-20,-203,-21,2,-2,-2,11,-21}; int j,s=O;for(j=0;j<10;j + +) if(a [j]%2==0) 二+ a[j]; prinst=Wd\n ,,s); 如果输入4,则输 如果输入5,则输 如果输入4,则输 如果输入5,则输 (1) ⑵ #inelude int main(void) {float⑹二{1, 3,

22、5, 7, 9}; float x; int i; scanf(%:&x); for (i=4 ; i>=0;唯-B>x) s[i+*s[j]; else break printfC八d \n",i+l); return 0; 5下、列程序的功能是输如下形式的方阵,请填空。 13141516 9101112 5678 1234 int main(void) { intij.x; for(j=4;j>=l_;j--) { for(i = l;i<=4;i + +) { x=G-l)*4+J_; printjM4d m q); } pnntfC,\rM);

23、} 6 .以下程序的功能是用来检查二维数组是否对称(即对所有的i,都有aD] G]=aD] B)o请 填空。int main(void) ( int a[4]二411,2,34,225,637,867,4}; int i,j,found=0; for(j=0;j<4;j + +) ( for(i=0;i<4;i + +) CafflD]'=aD]DU{ _found=l; break; } if(_fou n二二 reak; } 计(found 二 O)printf该二维数组不对称\rf); else printff 二维数组对称\1E) return 0; }

24、 三程序设计题 1. 选择法排序。输入一个正整数nd int main(void) { int i,n,index,k,temp; int a[10]; printf("EnterM n: scant(期 d: &n); printf,(nput%d integers:",n); for(i=0;i

25、) if(a[index]

26、答: #in clude int main(void) ( int ij,kg,n,max; int a[10],b[10],count[10]; printf("EnterM )n: scant(期 d: &n); printf("Enter Wd integers:",n); for(i=0;i

27、 while(aO]!=OX if(a[j]%10==i) count[i] ++; a[j]=aD]/10; } for(k=0;k

28、6)和n阶方阵a中的元素,如果a是上三角 矩阵,输出“YES:否则,输出“NO"。上三角矩阵,即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。试编写相应程序。 解答: #inelude int main(void) ( int i,j,n,flag; int⑹)⑹; printf lnput im); scanff/%d: &n); printfInput arrayAn*') for(i=0;i

29、 fag 二 0; for(i=l;i int main(void) int i,j,m,n,sum: i6^[6d; printf("lnpu) ;m:scanf场 d: &n); print

30、fC'InpuM )1: scanff'%d &n); printiflnput array: \I; for(i=0;i

31、 在该列上最小。试编写相应程序。 解答: #in clude int main(void) int flag,i,j,k,row,col,n; int ⑹)[6]; printf Input n:); scant(期 d: &n); prinMflhput arrayAm ); for(i=0;i

32、 for(k=0;ka[k][col]X flag=0; break; } WlagX row 二 i; break; } } if (flag) printf a[%d]pfd]二圳 d\n: row,col,a[row][col]); else printf NO\rT); return 0; } 7 字符串替换。输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写宇母替换,其余字符不变,输出替换后的字符串。试编写相应程序。 原字母对应字母 AZ BY X W X->C Y-B

33、 ZA 解答: #inelude int main(void) ( int i; char ch,str[80]; printf("lnput a string: i 二 0; while 仗 h=getchar())!='\n*){ str二 +c+] } strD]=\O,; for(二 O;str[iW、0: i ++) if(str[i]v 二 N &&str[i]-二 A) str 二]A+N str[i]; printfAfter replaced:"); for(二 O;str[i二!、0: i + +) putchar(str

34、[i]); putcharCXn*); return 0; } 8 .字符串转换成十进制整数。输入一个以字符学结束的字符串滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数宇的字符串,然后将其转换为十进制数后输出。如果过滤后字符串的首字符为”:代表该数是负数。试编写相应程序。 解答: #in clude int main(void) ( int i,j,k char hexad[80],str[80]; long number; printf("Enter a stM)ng: i二 0; while((str二_]getchar()

35、)! =#) i ++; str[i\O,; k 二 0; for(二 O;str[二!、0: i + +) jf(str[i],-==str[i]O>=&&str[i]<,=, ||str[i]a>,=&str[i]<,f ||str[i]^>,= &&str[i]二 F) hexad[k++]=str[i]; hexad[k]='\O*; j二 1; if(hexad[O] =,-')( for(k=l;hexad[k],\=;k++) if (hexad[k] ! = "-') hexad[j + +]=hexad[k]; } else( j二 0; for

36、k=0;hexad[k] =\0,;k++) if (hexad[k] !=*-') hexad[j + +]=hexad[k];J printf("New string):; for(i=0;hexad[i]\!0=i + +) putchar(hexad[i]); printf \m); n umber=0; for(二 0;hexad[i二、0: i ++)( if(hexad[i] >= &&hexad[i]<=9,) n umber 二 num be rr6+hexad[i] O; else if(hexad[i二〉A&&hexad[i]< 二 F) n umber=nu mb er*16+hexad[i] - 'A*+10; else if(hexad[i]a>,=&hexad[i]<=,f) n umber=nu mb erU 6+hexad[i] 0+10; } if(hexad[0],=*) printfNumber=%ld\n 门-nu mber); elseprintfC'Num ber二% ld\n numb er); return 0;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服