




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,Chapter7Arrays,PROGRAMMINGINANSIC,.,Question,Questions:Howdowereadin100scoresanddecidetheeverygradeofthescoreaccordingtotheaveragescore?Ifascoreis10orabovegreaterthantheaverage,itisclassifiedasgradeA;Ifascoreis10orabovelessthantheaverage,itisclassifiedasgradeC;OthersareclassifiedasgradeB.,.,Question,main()floats1,s2,s100,ave;chargrade1,grade2,.,grade100;scanf(%f,Thisprogramuses100variabless1,s2,.,s100todealwithsimilardataanddosimilaroperations.WecanuseastructuretoorganizethosesimilarvariablesArray.,Arrayisaderiveddatatype.Anarrayisafixed-sizesequencedcollectionofelementsofthesamedatatype.,.,Question,main()floats100,ave=0;inti;chargrade100;for(i=0;i=ave+10)gradei=A;elseif(siave10)gradei=C;elsegradei=B;,.,Chapter6,Inthischapter,wewilllearn:One-dimensionalarraysTwo-dimensionalarrays,.,valididentifier,thetypeoftheelements,One-dimensionalArrays-Declaration,Thegeneralformofarraydeclaration:typearray_namesize;a6;,Anintegerconstant,themaximumnumberofelementscanbestoredinsidethearray,Arraynameisthestartaddressofthisarrayinmemory,anditsvalueisanaddressconstant.,Thespacesofelementsarecontinuous.,Thefirstelementisa0.Thesubscriptsbeginwith0.,Thearrayacontains6elements.,Thelastelementisa5.Thesubscriptsofarrayanendwithn-1.,Dontusea6!,.,main()inti,s=10;floatfs;f0=0;for(i=1;is;i+)fi=fi-1+1;,main()inti,s=10;floatf10;f0=0;for(i=1;is;i+)fi=fi-1+1;,#defineSIZE10main()inti;floatfSIZE;f0=0;for(i=1;iSIZE;i+)fi=fi-1+1;,One-dimensionalArrays-Declaration,Whentheelementsofanarrayareused,thesubscriptsofanarraycanbeintegerconstantsorvariablesorexpressions.However,inthedeclarationofanarray,thesizecanbeonlyanintegerconstantexpression.,Error:Constantexpressionrequiredinfunction.,.,Likeprimaryvariables,anarraymustbedeclaredbeforeitisused.Wecanonlyusetheelementsonebyone,andcantusethewholearray.(Notice:Thearraynameisthestartaddressofthisarray,butitcantrepresenttheoverallelements.),a6;printf(%d,a);,One-dimensionalArrays-UsageofElements,a6,i;for(i=0;i=5;i+)printf(%d,ai);,.,One-dimensionalArrays-UsageofElements,#defineSIZE10main()inti;floatfSIZE;f0=0;for(i=1;iSIZE;i+)fi=fi-1+0.1;for(i=0;iSIZE;i=i+2)printf(%4.1f,fi);,0.00.8,.,One-dimensionalArrays-UsageofElements,a6;a6=10;,Theelementsarefroma0toa5.a6isinvalid.,Thearraynameaisthestartaddressofthisarray,whichistheaddressofthefirstelementa0.aiisthe(i+1)thelement,thesubscriptirepresentstheoffsetfromthestartaddressofthearray.Whenaelementisused,thecompilercalculateitsaddressaccordingtothestartaddressandthesubscript,andthentakeoutthedatafromtheaddress.,.,One-dimensionalArrays-UsageofElements,main()inta2;a0=1;a1=2;printf(%dn,a0);printf(%dn,a1);printf(%d%x,a,a);,12-42ffd6,.,One-dimensionalArrays-UsageofElements,main()inta2;scanf(%d,5510,scanf(%d,a);,scanf(%d,a+1);,.,One-dimensionalArrays-Initialization,Likeprimaryvariables,wecaninitializetheelementsofanarraywhenthearrayisdeclared.Thegeneralformofinitializationofarrayis:typearray-namesize=listofvaluesThevaluesinthelistareseparatedbycommas.,a5=1,2,3,4,5;,Equivalentto:inta5;a0=1;a1=2;a2=3;a3=4;a4=5;,.,One-dimensionalArrays-Initialization,Initializationmaybepartial.Thenumberofinitializersmaybelessthanthedeclaredsize.Insuchcases,theremainingelementsareinitializedtozero.,a5=1,2,3;,Equivalentto:inta5;a0=1;a1=2;a2=3;a3=a4=0;,.,One-dimensionalArrays-Initialization,Ifthenumberofinitializersismorethanthedeclaredsize,thecomplierwillproduceanerror.,a3=1,2,3,4,5;,Error:Toomanyinitializersinfunction.,.,One-dimensionalArrays-Initialization,Thesizemaybeomitted.Insuchcases,thecompilerallocatesenoughspaceforallinitializedelements.Ifthenumberofinitializersisn,thedeclaredsizeofthearrayisn.,a=1,2,3,4,5;,Equivalentto:inta5=1,2,3,4,5;,.,One-dimensionalArrays-Initialization,Iftheelementsarenotinitializedbeforetheyareusedinanexpression,theresultofthisexpressionisunexpected.Beforetheelementsareused,theymustbeinitialized,whetherincompiletimeorinruntime.,a3;printf(%d,%d,%d,a0,a1,a2);,0,64,3117,.,One-dimensionalArrays-Program1,Readin10integers,andfindoutthemaximumandtheminimumandtheaverage.Step1:Read10numbersintoarraya.Step2:max=min=sum=a0;Step3:for(i=1;imax)max=ai;if(aimin)min=ai;sum=sum+ai;Step4:ave=sum/10;Step5:Outputthevaluesofmax,minandave.,N-SFlowChart,max=min=sum=a0;,ave=(float)sum/10,Output:max,min,ave,.,#defineN10main()intaN,max,min,sum,i;floatave;printf(Enter%dintegers:n,N);for(i=0;imax)max=ai;if(aimin)min=ai;sum=sum+ai;ave=(float)sum/N;printf(max=%d,min=%d,ave=%.1f,max,min,ave);,#defineN10main()intaN,max,min,sum,i;floatave;printf(Enter%dintegers:n,N);for(i=0;imax)max=ai;if(aimin)min=ai;sum=sum+ai;ave=(float)sum/N;printf(max=%d,min=%d,ave=%.1f,max,min,ave);,One-dimensionalArrays-Program1,Enter10integers:12345678910max=10,min=1,ave=5.5,.,One-dimensionalArrays-Program2,Readin10scores,anddecidetheeverygradeofthescoreaccordingtotheaveragescore.Ifascoreis10orabovegreaterthantheaverage,itisclassifiedasgradeA;Ifascoreis10orabovelessthantheaverage,itisclassifiedasgradeC;OthersareclassifiedasgradeB.,Step1:Readin10scores(floattype).Step2:Calculatetheaveragescore.Step3:Compareeveryscorewiththeaveragetodecidetheeverygrade,andthenoutputit.,.,One-dimensionalArrays-Program2,#defineN10main()floatscoreN,ave,sum=0;inti;chargrade;for(i=0;i=10)grade=A;elseif(scorei-ave=-10)grade=C;elsegrade=B;printf(Thegradeofstudent%dis:%cn,i+1,grade);,.,One-dimensionalArrays-Program3,Outputtheformer40numbersoftheFibonaccisequence.Fibonaccisequence:1,1,2,3,5,8,13,21,34,F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n3),2,3,5,8,.,One-dimensionalArrays-Program3,main()inti;longf40=1,1;for(i=2;i40;i+)fi=fi-2+fi-1;for(i=0;i40;i+)if(i%4=0)printf(n);printf(%12ld,fi);,main()longf1=1,f2=1;inti;for(i=1;i=20;i+)printf(%12ld%12ld,f1,f2);if(i%2=0)printf(n);f1=f1+f2;f2=f2+f1;,.,One-dimensionalArrays-Program4,Readin20characters,findoutthecharacterspecifiedbyuser,andoutputitsposition.Step1:Read20charactersintoarrayc.Step2:Readinthecharacterwhichtheuserwantstosearch,andassigntovariablech.Step3:Comparechwiththearraycfromc0to9totestwhetherthearraycontainsthischaracterornot.,.,main()charc20,ch;inti;printf(Pleaseinputthe20characters:n);for(i=0;i20;i+)scanf(%c,One-dimensionalArrays-Program4,main()charc20,ch;inti;printf(Pleaseinputthe20characters:n);for(i=0;i20;i+)scanf(%c,Pleaseinputthe20characters:abcdefghijklmnopqrstWhatdoyouwanttosearch?Nofound!,Pleaseinputthe20characters:abcdefghijklmnopqrstWhatdoyouwanttosearch?datthepositon4.,d,.,One-dimensionalArrays-Program5,Bubblesort:Arrangeelementsinthelistaccordingtotheirvalues,inascendingorder.Method:Comparethetwoadjacentnumbers,andputthelargernumberonthelatterposition.Step1:Readnnumbersintothearraya.,.,One-dimensionalArrays-Program5,Bubblesort:Arrangeelementsinthelistaccordingtotheirvalues,inascendingorder.Method:Comparethetwoadjacentnumbers,andputthelargernumberonthelatterposition.Step2:Comparethe1standthe2ndnumber,andputthelargeronthelatterposition.Thencomparethe2ndandthe3rdnumber,andputthelargeronthelatterposition.Inthesameway,untilwehavecomparedandputthe(n-1)thandthenthnumberweputthelargestnumberonthelastposition.,.,One-dimensionalArrays-Program5,Bubblesort:Arrangeelementsinthelistaccordingtotheirvalues,inascendingorder.Method:Comparethetwoadjacentnumbers,andputthelargernumberonthelatterposition.Step3:Inthesameway,wedowiththeformern-1numbers,andthesecondlargestnumberisputonthelastsecondposition.Step4:Repeatthisprocessuntilallthenumbersaresorted.,.,Comparison7times6times5times4times3times2times1time,One-dimensionalArrays-Program5,1stsorting,2ndsorting,3rdsorting,4thsorting,5thsorting,6thsorting,7thsorting,result,Tonnumbers,altogethertimesofsorting.Inithsorting,altogethertimesofcomparison.,n-1,irepresentstimesofsorting:1=i=n-1,n-i,jrepresentsthesubscriptofthecomparedelement:1=j=n-i,Everytime,aj-1andajarecompared.,.,One-dimensionalArrays-Program5,#defineN10main()intaN,i,j,t;printf(Input%dnumbers:n,N);for(i=0;iaj)t=aj-1;aj-1=aj;aj=t;for(i=0;iN;i+)printf(%d,ai);,.,One-dimensionalArrays-Program6,Selectionsort:Arrangeelementsinthelistaccordingtotheirvalues,inascendingorder.Method:Firstselectthesmallestnumberandputitonthefirstposition.Thenselectthesecondsmallestnumberandputitonthesecondposition.Inthesameway,placeallthenumbersinascendingorder.,.,Comparison7times6times5times4times3times2times1time,result,One-dimensionalArrays-Program6,1thsorting,2ndsorting,3rdsorting,4thsorting,5thsorting,6thsorting,7thsorting,Tonnumbers,altogethertimesofsorting.Inithsorting,altogethertimesofcomparison.,n-1,irepresentstimesofsorting:1=i=n-1,n-i,jrepresentsthesubscriptofthecomparedelement:i=j=n-1,Everysorting,thesmallestelementinthecomparedelementsisexchangewiththeelementai-1.,.,One-dimensionalArrays-Program6,#defineN10main()intaN,i,j,t,k;printf(Input%dnumbers:n,N);for(i=0;iaj)k=j;if(k!=i-1)t=ak;ak=ai-1;ai-1=t;for(i=0;iN;i+)printf(%d,ai);,.,One-dimensionalArrays-Program7,Read10integersintoanarray,andthenrearrangetheelementsofthisarrayintheinvertedorder.Step1:Read10integersintothearraya.Step2:Exchangea0anda9,a1anda8.a4anda5.Step3:Outputthisrearrangedarray.,.,One-dimensionalArrays-Program7,main()inta10,i,j,t;printf(Pleaseinputthe10integers:);for(i=0;i10;i+)scanf(%d,Consider:Howtorearrangennumbersintheinvertedorder?,for(i=0;i5;i+)t=ai;ai=a9-i;a9-i=t;,.,One-dimensionalArrays-Program8,10candidatesparticipateinanelectioncampaign,and100personsvoteforthem.Calculatetheballotofeachcandidate,andoutputtheresultwiththehistogramexpressedby*.Step1:Declareandinitializethearray:intcount11=0;Step2:Readinthevote.Ifonevoteisforcandidaten,add1tocountn.Step3:Outputtheresultandthecorresponding“*”.,.,One-dimensionalArrays-Program8,main()intcount11=0,i,j,n;printf(Pleaseinputthe100votes:);for(i=0;i100;i+)scanf(%d,Candidates:CountGraphCandidate1:5ballots*Candidate2:6ballots*Candidate3:10ballots*Candidate4:12ballots*Candidate5:2ballots*Candidate6:7ballots*Candidate7:18ballots*Candidate8:28ballots*Candidate9:8ballots*Candidate10:4ballots*,.,Question,Questions:Inmaths,weoftenusethematrix,suchasAmn.Howdoweexpressitinourprogram?,Two-dimensionalarray!,.,Thegeneralformofarraydeclaration:typearray_namerow_sizecolumn_size;a43;Thestorageoftheelements:Thememoryisone-dimensional.Inmemory:Afteralltheelementsofonelinearestored,anotherlineisstored.,Two-dimensionalArrays,a21,a20,a11,a10,a01,a00,intc234,c123,c122,c121,c120,c113,c112,c111,c110,c103,c102,c101,c100,c023,c022,c021,c020,c013,c012,c011,c010,c003,c002,c001,c000,.,Two-dimensionalArrays,inta34;,Eachelementaiisaone-dimensionalarraycontaining4elements.,Thetwo-dimensionalarrayacanberegardedasaone-dimensionalarraycontaining3elements.,a2,a1,a0,.,Two-dimensionalArrays-Initialization,Atwo-dimensionalarraycanbeinitializedrowbyrow.,.,Two-dimensionalArrays-Initialization,Atwo-dimensionalarraycanbeinitializedrowbyrow.,Notice:Thesizeoftheseconddimensioncantbeomitted!a2=1,2,4iswrong!,.,Two-dimensionalArrays-Initialization,Atwo-dimensionalarraycanbeinitializedwithalistofinitialvalues.,.,Two-dimensionalArrays-Initialization,Atwo-dimensionalarraycanbeinitializedwithalistofinitialvalues.,Notice:Thesizeoftheseconddimensioncantbeomitted!a2=1,2,0,4;iswrong!,.,Calculateeachrowsumofthematrixa34.Step1:Declareandinitializeatwo-dimensionalarraya34.Step2:Declareaone-dimensionalarrays3tostoreeachrowsum.Step3:Calculatethesumoftheithrow,andstoreittotheelementsi.Step4:Outputthevalueofthearrays.,Two-dimensionalArrays-Program1,.,Two-dimensionalArrays-Program1,main()inta34=1,2,3,4,5,6,7,8,9,10,s3;inti,j,sum=0;for(i=0;i3;i+,sum=0)for(j=0;j4;j+)sum=sum+aij;si=sum;for(i=0;i3;i+)printf(Therowsum%dis:%dn,i+1,si);,Therowsum1is:10Therowsum2is:18Therow
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆卸安装安全协议书6篇
- T/ZHCA 101-2020体重控制人群代餐减重干预技术规范
- 健康促进医院课件
- 电话销售技巧培训课件
- 语言活动认识新朋友
- 社区健康与公共卫生服务
- 2025西湖大学辅导员考试试题及答案
- 2025西安电力机械制造公司机电学院辅导员考试试题及答案
- 2025衡阳幼儿师范高等专科学校辅导员考试试题及答案
- 2025皖西卫生职业学院辅导员考试试题及答案
- 31小动物本领大-课件
- 干部人事档案管理工作实务
- 排序算法及其算法分析课件
- 吸烟对人体危害和戒烟
- 建筑施工安全技术统一规范
- 送医护人员锦旗用语16字
- 品质异常8D改善报告(杂项)
- 深圳城市更新工改工专题研究报告
- 某机械厂降压变电所的电气设计参考(电气工程课程设计)
- 学校内控制度及手册
- 脑力工作负荷
评论
0/150
提交评论