上机实验八——二维数组

上机实验八——二维数组

ID:41600339

大小:59.08 KB

页数:3页

时间:2019-08-28

上机实验八——二维数组_第1页
上机实验八——二维数组_第2页
上机实验八——二维数组_第3页
资源描述:

《上机实验八——二维数组》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、上机实验八二维数组与字符数组学号:12180233姓名:杨剑一.目的要求1.掌握二维数组的棊本概念,如何定义二维数组,如何初始化二维数组。2.掌握二维数组的基木操作:引用数组元素、行(列)求和,行(列)最人最小值,整个数组的输入输出等。3.掌握与二维数组有关的算法,如找最大最小值(或位置)、矩阵转置等。4•掌握字符串与字符数组的基本应用方法5.掌握字符串有关的算法,如字符转换、查询、统计和进制转换等二.实验内容【实验题1】程序填空:输入一个4X4矩阵,求出主对角线上的元素Z和suml、副对角线上的元素之和sum2,并输出结果。提示:每一行只有一个主对角线元

2、素a[i][i](特征:i==j),也仅有一个副对角线元素a[i][n-i-l](特征:i+j二二n-1,即j=n-l-i)源程序:#includevoidmain(){intiJ,sum1=0,sum2=0,a[4][4];printf(HInputa4*4matrix:H);for(i=0;iv4;i++)〃输入矩阵元素for(i=0;iv4;i++)scanf(H%dH,&a[i][j]);for(i=0;i<4;i++){〃计算suml和sum2suml+二;sum2+二;}printf(nsuml=%d,sum2=%dH

3、,suml,sum2);〃输出结果}运行程序,并输入数据:12345678910111213141516运彳亍结果:suml=34_,sum2=34【实验题2】程序填空:打印杨辉三角形前1()行:111121133114641151()1051算法提示:分析一个10行的杨辉三角,需要一个10X10的二维矩阵a,贝1)杨辉三角为下三角矩阵,只需要求出第i行(i=0,1,2,9)前i+1个元素,即a[i][j]!=Od=0...i).2)每行的第0列元素均为1,即a[i][0]=l;3)每行的主对角线元素也均为1,即a[i][i]=l;4)从第2行开始,每行夹

4、在第0列元素与主对角线元索之间的元素a[i][j](i=2,3,...,9,)等于其左上方元素a[i-l][j-l]与正上方元素a[i-l]

5、j]之和,即a[i]UJ=a[i-l][j.l]+a[i-l]

6、j];1)输出该矩阵的下三角,即得出杨辉三角的前10行。源程序:#includevoidmain(){inti,j,inta[10][10];for(i=0;i<10;i++)〃各行的第0列元素与主对角线元素赋1afinoiafiirtl=1:for(i=2;i<10;i++)〃为第2~9行的夹在第0列与主对角线之间的元素赋值for(j

7、=l;j<_i_;j++)a[i][j]二;for(i=0;i<10;i++){〃输出矩阵中的下三角矩阵for(j=0;j<=i;j++)printf(H%5d",a[i][j]);printf(,,n);//Line12问:如果删除Line12,程序运行结果冇何不同?答:不换行【实验题3】程序填空:二•十进制转换:输入一个8位二进制字符串b(由字符T和O组成),输出对应的十进制整数。例如,输入二进制字符串10010001,输出十进制整数四算法提示:1、由于二进制字符串b的长度固定为8,因此定义字符数组charb[8]即可,每个元素对应一个二进制位;2

8、、循环1:输入二进制字符,输入的每一个字符先暂存在字符变最ch屮,检杏ch是否是O或T,,是则存入数组b,并令数组下标i增1,不是则跳过该字符。3、循环2:二■十进制转换:从前往后,带权累加数组b各元素对应的数值b[iF『:d=dX2+源程序:#includeintmain(){inti,d;charch,b[8];printfC*Input8-bitbinary:");〃输入二进制字符串i=0;while(i<8){㈱入8位二进制字符ch=getcharQ:if(ch==,(Fllch==,r)b[i++1二ch;〃输入V或T则存入

9、数组b,忽略其他字符}d=_0_;〃二•十进制转换for(i=0;i<8;i++)d=d*2+;printf(Hdigit=%dH,d);/倫出十进制整数d}程序运行结果:输入输出100101011490000000001010#0010162【实验题4】程序填空:输入一个以回车结束的字符串(有效长度少于80),将该字符串中的字符重新排列,使原先笫0个字符出现在最后一位,原先第1个字符出现在倒数第2位,ooo,原先最后1个字符出现在第0位,例如:字符串,,abcdef,经重排后变成”fedcba”。算法分析:该问题类似于方阵转置,即把特定位置的数组元素

10、进行交换。本题屮的字符串存放在一维字符型数纽s屮,需要解决以下问题

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。