实验8 二维数组与字符数组

实验8 二维数组与字符数组

ID:34616514

大小:191.34 KB

页数:11页

时间:2019-03-08

实验8 二维数组与字符数组_第1页
实验8 二维数组与字符数组_第2页
实验8 二维数组与字符数组_第3页
实验8 二维数组与字符数组_第4页
实验8 二维数组与字符数组_第5页
资源描述:

《实验8 二维数组与字符数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验8二维数组与字符数组1.实验目的(1)掌握二维数组的基本概念,如何定义二维数组,如何初始化二维数组;(2)掌握二维数组的基本操作:引用数组元素、行(列)求和,行(列)最大最小值,整个数组的输入输出等;(3)掌握与二维数组有关的算法,如找最大最小值(或位置)、矩阵转置等;(4)掌握字符串与字符数组的基本应用方法;(5)掌握字符串有关的算法,如字符转换、查询、统计和进制转换等。2.实验环境(1)每人微机一台(WindowsXP操作系统+OFFICE2000软件)(2)VISUALC++ 6.0编程软件3.实验内容【实验题1】程序填空

2、,输入一个4×4 矩阵,求出主对角线上的元素之和sum1、副对角线上的元素之和sum2,并输出结果。【算法分析】:每一行只有一个主对角线元素a[i][i](特征:i==j),也仅有一个副对角线元素a[i][ni1](特征:i+j==n1,即j=n1i)源程序:#include void main(){ inti,j,sum1=0,sum2=0, a[4][4]; printf("Inputa 4*4matrix:"); for()//输入矩阵元素for()scanf("%d",&a[i][j]);for(i=0

3、;i<4;i++){ //计算sum1 和sum2 sum1 +=; sum2 +=; } printf("sum1=%d,sum2=%d",sum1,sum2); //输出结果} 运行程序,并输入数据:1 2 34 56 78 910 11 1213 1415 16 运行结果:sum1= ,sum2= 【实验题2】程序填空,打印杨辉三角形前10行:1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ……………………【算法分析】:分析一个10行的杨辉三角,需要一个10×10的二维矩阵a,则:1

4、)杨辉三角为下三角矩阵,只需要求出第i行(i=0,1,2,…,9)前i+1个元素,即a[i][j]!=0 (j=0…i).2)每行的第0列元素均为1,即a[i][0]=1; 3)每行的主对角线元素也均为1,即a[i][i]=1; 4)从第2 行开始,每行夹在第0 列元素与主对角线元素之间的元素a[i][j](i=2,3,…,9,j=1,..,i1 )等于其左上方元素a[i1][j1]与正上方元素a[i1][j]之和,即a[i][j]=a[i1][j1]+a[i1][j];5)输出该矩阵的下三角,即得出杨辉三角的前10行。源程序:#i

5、nclude void main(){ inti,j,inta[10][10];for(i=0;i<10;i++)//各行的第0列元素与主对角线元素赋1 = =1; for(i=2;i<10;i++ )//为第2~9行的夹在第0列与主对角线之间的元素赋值for(j=1;j< ;j++)a[i][j]= ; for(i=0;i<10;i++){ //输出矩阵中的下三角矩阵for(j=0;j ;j++)printf("%5d",a[i][j]); printf(""); //Line 12 } } l问:如果删除L

6、ine 12,程序运行结果有何不同?【实验题3】程序填空,输入一个以回车结束的字符串(有效长度少于80),将其中的小写字母统一更换成对应的大写字母。【算法分析】:1、输入字符串,并存储在字符数组中,’’表示回车;2、遍历字符串的每个元素,如果是小写字母(’a’97~’z’122),则更换成大写字母;3、输出更新后的字符串。源程序:#include void main(){ inti; char s[80]; i=0; while( )i++; //输入字符串s[i]= ; for(i=0; ;i++)//将遍历

7、字符串,将小写字母转换成大写字母if(s[i]>='a'&&s[i]<='z')s[i]= ;for(i=0;s[i]!='';i++); //输出字符串printf(""); } 运行程序,输入:Tom&Jacks10 输出结果:【实验题4】程序填空,输入一个以回车结束的字符串(有效长度少于80),将该字符串中的字符重新排列,使原先第0 个字符出现在最后一位,原先第1 个字符出现在倒数第2位,……,原先最后1 个字符出现在第0位,例如:字符串”abcdef”经重排后变成”fedcba”。【算法分析】:该问题类似于方阵转置,

8、即把特定位置的数组元素进行交换。本题中的字符串存放在一维字符型数组s中,需要解决以下问题:1)计算字符串s的有效长度len 2)将字符串s的前半部分(0~len/21)与字符串的后半部分对调,即交换对称元素,与s[i]对称的元素是s[

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

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

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