还剩36页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
•一个班学生得学习成绩•一行文字•一个矩阵这些数据得特点就就是、具有相同得数据类型
1、使用过程中需要保留原始数据2语言为这些数据,提供了一种构造数据类型:数组C所谓数组就就就是一组具有相同数据类型得数据得有较n-1趟,用j表示趟数,则第j趟要比较11-i次rnainQ{in ta[l1];in t i,j,t;prin t fi nput10numbe r s:\n,for i=UlU++scanf%d”,a[i],printf\n;for j=1;j=9;j++for i=l;i=10-j4++i fa[i]a[i+1]{t=a[i];a[i]=a[i+1];a[i+1]=t;}Pri n tf thes ort ed n u mbers:\n;for i=l^l1;i p rintf%d,a[i];p ri nt f\n;}/*程序结束*/运行结果Inpu t10n umbers:10481265-76100-45123The so rted numbers:-76-4501481281265100123本程序中,第一个循环,就就是表示要循环得趟数,第二个循环,就for for就是表示每一趟里面循环得次数例有一个已经排好序得数组,今输入一个整数,要求按原来排序得规5:律将她插入数组中为了把一个数按大小插入已排好序得数组中,应首先确定排序就就是从大到小还就就是从小到大进行得假设排序就就是从大到小进行得,则可把欲插入得数与数组中各数逐个比较,当找到第一个比插入数小得元素时,该元素之前即为插入位置然后从数组最后一个元素开始到该元素为i止,逐个后移一个单元最后把插入数赋予元素即可如果被插入数比i所有得元素值都小则插入最后位置m ain i n ti,j,p,q,s,n,a
[11]={320,260,258,154,68,57,45,16,8,2};for i=0;i=10;i++printf n%d n,a[i];/*先输出原始排好序得数据序列*/printf11\nInput anum ber:\n H;s canfn%d H,n;/*输入一个数插入到序列中*/if na E9]a
[10]=n;e1se{f ori=0,V10;i++i fga[i]{f ors=9;s=a[s+l]=a[s];break;;i s--二aQl=力;}p rintf\n resu It:\nfor i=0;i=10;i++pr i ntf11%d n,a[i];pr i n tf,f\nn;/*输出结果运行结果:2D:\lyh\TC20\TC.EXEthe originalnumbers:3202602581546857451682Input anumber:88resul t,320260258154886857451682本程序首先输入要插入得整数再用一个语句把和数组元素逐n forn个比较,如果发现有时,则由一个内循环把以后各元素值顺次后na[i]i移一个单元后移应按照从后向前依次进行(从开始到为止)后a
[9]a[i]移结束跳出外循环插入点为把赋予即可i,n a[i]如所有得元素均大于被插入数,则并未进行过后移工作此时结果就i=10,就是把赋于最后一个循环输出插入数据后得数组各元素值n a
[10]o二维数组及其应用array a:array b:11例:将一小二维数组行和列元素互换,存到另一个二维数组中例60void mai n0int a
[2]
[3]={{1,2,3},{4,5,6};int bE3]
[2]j,j;pri n tfC array a:\n;fori=0^=1;i++f orj=0;j=2;j++〃p ri ntfff%5d/[i J[j];序集合一维数组及其应用例一维数组元素赋值及输出练习、1:ma inO/*定义数组整型数组她含有十个元素*inti,a
[10];a,fo rG=0;i v=9;i++/*通过循环依次为数组for;b[j][ij=a,[i][jj};pnntfC\力〃}pr intf ar rayb:\n;fo ri=0;i=2;i++for j=O;j=l;j++printf”%5d〃,b[i][j];运行结果如下:array a:123456array b:142536pri ntf\n;}}/*程序结束*/例有一个得矩阵,要求编程序求出其中值最大得那个元素得值,以7:3X4及所在得行号和列号程序main{in ti,j,r ow=0,colum=0,max;s taticin taE3]
[4]={{1,2,3,4},{9,8,7,6},{-10,10,5,2}}max=a
[0]
[0];fo ri=0^=2;i++for j=0;j=3;j++i fa[i][j]m ax{max=a[i][j];row=i;colum=j;}pr intf nm ax=%d/ow二%d,c olum=%d\n”,m ax,row,colum;}输出结果为max=10,row=2,colum=1例打印出以下得杨辉三角形要求打印出行8101111211331146411510101oooooooooooooooooooooooo杨辉三角就就是得次赛得展开式系数,如a+b n展开后得系数就就是a+b01展开后得系统数就就是展开后得a+bl1la a+b2系数就就是121展开后得系数就就是从而我们得到杨辉a+b3133U三解得系数规律指数为、各行第一个数都就就是、各行最后一n:l1A2A个数都就就是
1、若用二维数组存放系数,每行存放一组,则从第二行开始除最后一3个数与第一个数外,每个数都就就是其所在行得上一行同一列与前一列之和可以这样表示#d efineN11main in ti,j,a[N][N];fori=1;i VNU++川a1]=1;a H[i]=1;}fb ri=3uN;i++for j=2;j=i-1;j++a[i]D]=a Li-1][j-l]+a[i-1][j];f ori=l;ivN;i++forj=1;j=i;j++printfH%6d H,a[i][j];prin tfn\n H;printfH\n;}字符数组及其应用例输出一个字符串9ma in{char x[]={T,41,,b,o,y f;in ti;fori=0pi10;i++口];pt intf“%c cprintf%\n”;}运行结果I am a boy,aacm例输出一个钻石图形10:、#inelude Vstdioh voidma inchard ia mond[]
[5]={{,,,,*Ir*,,,h\inti,j;运行结果for i=0^5^++{forj=0;j5;j++中得每个元素赋值*/a/*通过循环依次输出数组中得每个for i=9^=0u-for a元素得值*/printfH%3dn,a[i];/*请注意输出元素得顺序*/}运行结果9876543210总结程序使到得值为然后按逆序输出a
[0]a
[9]0〜9,例用数组来处理求(菲波那契)数列问题,求出前个数2F ibon acci40并以每行个数输出4数列:Fibonac ci Fl=1n=1§F2=1®n=2Fn=F n-1+Fn-2n3即:1162d38®656613d.o oo、#include stdi oh main{inti;/*定义长整型数组存放个数,对第一Ion gf
[40]={1,1};f40Fibonacci个和第二个元素先赋初值1*//*从第三个元.起分别利用前两个元素求和得到其f ori=2;i40;i++值*/,f[i]=f[i-2]+f[i-1];/*利用循环依次输出for i=0;i40;i++4个数*/0d{dlf(i%4==0)PHntfC,\n“);/*每输出4个数输出一个换行符*/)/*要注意长整型数据得输出格式控制符得写法*/…WC%16m;f[iJ6))运行结果c\D:\lyh\TC20\TC.EXE1125813345589233377610159725844181109461771128657750251213931964185142298320401346269352457857028879227465241578163908816863245984例找一批数中得最大值3:maininti,max,a
[10];pri ntfHin put10numbers:3211U987676546368317811217830914930352102334152\nn;〃输入提示信息“请输入1个数”0fo ri=0ul0;i++//输入个数到数sc an f%d11,a[i];10组中max=a
[0];口++for i=l;i10//从数组中找最大得i fa|i]m ax max=a[i];数赋值给maxp rintfnmaxmum=%d\n”,max;//输出得值max运行结果inpu t10n umbers:8294563716maxmum=9例冒泡法排序从小到大排序思路:将相邻两个数进行比较,将小得调4到前头若个数比较,要比n。
个人认证
优秀文档
获得点赞 0