




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 7-8 次课程名称程序设计基础课程性质实验课授课班级网络16-1、2授课地点1402授课时间2016年11月9日第5小节第8小节2016年11月16日第5小节第8小节2016年11月23日第5小节第8小节课题: 实验六、 数组的应用4学时主要教学内容:一、二维数组、字符数组的定义、初始化和引用方法及字符串函数的用法;一、二维数组、字符数组的地址和指针的概念和用法;与数组有关的算法。教学目标:1. 掌握一、二维数组、字符数组的定义、初始化和引用方法及字符串函数的用法;2. 掌握一、二维数组、字符数组的地址和指针的概念和用法;3. 理解与数组有关的算法。重 点:完成9个题目的设计。难 点:第7、8、9题。教学过程(组织与方法):首先,进行考勤并检查学生对实验的准备情况,做好记录,之后指导学生完成实验指导书中规定的实验内容,最后,逐个验收,并记录验收结果。作业:实验报告:将实验内容的第7、8、9题中的任意一题写入实验报告,要求画出传统流程图和N-S流程图。实验六、数组的应用设计型1. 用起泡法(或称冒泡法)对15,5,9,2,7,11,8,3,12,1共10个整数由小到大排序。解:(1)算法传统流程图如图1所示,N-S流程图如图2所示。开 始j = 0结 束a10= 15,5,9,2,7,11,8,3,12,1i 9i = 0j aj+1输出 a i TFTFTFj = j+1i = i + 1i aj+1TFfor j = 0 to 9 - ifor i = 0 to 9输出 n图1 传统流程图 图2 N-S流程图(2)程序和运行结果如下:#include void main ( ) int i , j , t , a 10 = 15 , 5 , 9 , 2 , 7 , 11 , 8 , 3 , 12 , 1 ; for ( i = 0 ; i 9 ; i+ ) for ( j = 0 ; j a j + 1 ) t = a j ; a j = a j + 1 ; a j + 1 = t ; for ( i = 0 ; i *(p+j+1)TFk i输出 n开 始k = i , j = i + 1结 束a10= 15,5,9,2,7,11,8,3,12,1i 10p = a , i = 0j *(p+j)输出 *(p+ i )TFTFTFj = j+1i = i + 1k i输出 n*(p+i)*(p+k)TFp = a , i = 0k = i*(p+i)*(p+k)TF图3 传统流程图 图4 N-S流程图(2)程序和运行结果如下:#include void main ( ) int i , j , k , t ,*p ; int a10 = 15 , 5 , 9 , 2 , 7 , 11 , 8 , 3 , 12 , 1 ; p = a ; for ( i = 0 ; i 10 ; i+ ) k = i ; for ( j = i + 1 ; j *( p + j ) ) k = j ; if ( k != i ) t = *( p + i ) ; *( p + i ) = *( p + k ) ; *( p + k ) = t ; printf ( %3d , *( p + i ) ) ; printf ( n ) ;结果如下:12357891112153. 编一程序,将字符数组s1中存放的字符串Iama 和字符数组s2中存放的字符串student.连接起来,连接后的字符串存放在s1中。不要使用任何字符串函数。解:(1)算法传统流程图如图5所示,N-S流程图如图6所示。开 始i = i + 1结 束s180= I am a ,s240=student.s1 i i = 0TFs1i+=s2j+TF输出 s1j = 0i = i + 1s180= I am a ,s240=student.i = 0当s1 i 当s1i+=s2j+输出 s1图5 传统流程图 图6 N-S流程图(2)程序和运行结果如下:#include void main ( ) int i , j ; char s180 = I am a , s240 = student. ; i = 0 ; while ( s1i ) i+ ; j = 0 ; while ( s1i+ = s2j+ ) ; printf ( %sn , s1 ) ; 结果如下:Iamastudent.4. 求A矩阵与B矩阵的和矩阵C。其中:。解:(1)算法传统流程图如图7所示,N-S流程图如图8所示。(2)程序和运行结果如下:#include void main ( ) int i , j ; int a 4 = 1 , 1 , 2 , 1 , 2 , 2 , 1 , 3 , 4 , 2 , 3 , 1 ; int b 4 = 2 , 3 , 5 , 2 , 3 , 1 , 6 , 1 , 1 , 1 , 5 , 0 , c 34 ; for ( i = 0 ; i 3 ; i+ ) for ( j = 0 ; j 4 ; j+ ) cij = aij + bij ; printf ( %3d , cij ) ; printf ( n ) ; 结果如下:347353745381输出 cija34 =1,1,2,1,2,2,1,3,4,2,3,1for i = 0 to 2for j = 0 to 3cij=aij+bij输出 nb34 =2,3,5,2,3,1,6,1,1,1,5,0开 始a34 =1,1,2,1,2,2,1,3,4,2,3,1j = 0结 束i 3i = 0j 4cij=aij+bij输出 cijTFTFj = j+1i = i + 1输出 nb34 =2,3,5,2,3,1,6,1,1,1,5,0图7 传统流程图 图8 N-S流程图5. 编程求出二维数组a的最大元素,同时求出该最大元素所在的行row和列column。a数组如下:。解:(1)算法传统流程图如图9所示,N-S流程图如图10所示。(2)程序和运行结果如下:#include void main() int a23= 3,9,2,7,5,1 ; int i,j,max=a00,row=0,colum=0; for(i=0;i2;i+) for(j=0;j3;j+) if(maxaij) max=aij; row=i; colum=j; printf(max=%d,row=%d,colum=%dn,max,row,colum);结果如下:max=9,row=0,colum=1max=aija23 = 3,9,2,7,5,1 for i = 0 to 1for j = 0 to 2maxaij输出 max , row , columb34 =2,3,5,2,3,1,6,1,1,1,5,0开 始a23 = 3,9,2,7,5,1 j = 0结 束i 2i = 0j 3max=aij;TFTFj = j+1i = i + 1输出 max,row,colummax=a00,row=0,colum=0maxaijTFrow=icolum=jrow = icolum = jFT图9 传统流程图 图10 N-S流程图6. 定义二维数组,存放5个字符串dog、tiger、wolf、cat、horse,然后用选择法将这5个字符串按由小到大的顺序排序并输出。解:(1)算法传统流程图如图11所示,N-S流程图如图12所示。开 始c510=dog,tiger,wolf,cat,horsej = i + 1结 束i 5i = 0j cj串TFck串 ci串k = jc510=dog,tiger,wolf,cat,horsefor i = 0 to 4for j = i + 1 to 4c k 串 c j 串输出 c i 串k = ik ic k 串 c i 串k iTFFTTF图11 传统流程图 图12 N-S流程图(2)程序和运行结果如下:#include #include void main ( ) int i , j , k ; char c510 = dog , tiger , wolf , cat , horse ; char t 10 ; for ( i = 0 ; i 5 ; i+ ) k = i ; for ( j = i + 1 ; j 0 ) k = j ; if ( k != i ) strcpy ( t , c k ) ; strcpy ( c k , c i ) ; strcpy ( c i , t ) ; printf ( %sn , c i ) ; 结果如下:catdoghorsetigerwolf7. 求s=的准确值(结果:s=16158688114800553828940313)。解:(1)算法传统流程图如图13所示,N-S流程图如图14所示。结 束输出 s i 开 始t30=1,s30=0ti=ti*nn25n = 1i 30i = 0TFTFi = i+1i = 0ti+1=ti+1+ti/10i 29TFti=ti%10i = i+1si=si+tii 30i = 0TFi = i+1i = 0si+1=si+1+si/10i 29TFsi=si%10i = i+1n = n+1breaki 0TFi = i 1i = 29si 0i 0TFi = i 1FTt30=1,s30=0for n = 1 to 25for i = 0 to 29ti=ti*n输出 s i s i 0breakTFfor i = 0 to 29ti+1=ti+1+ti/10ti=ti%10for i = 0 to 29si=si+tifor i = 0 to 29si+1=si+1+si/10si=si%10for i = 29 to 0 step 1 for i to 0 step 1 图13 传统流程图 图14 N-S流程图(2)程序和运行结果如下:#include #include void main ( ) int i , n ; int t30 = 1 , s30 = 0 ; for ( n = 1 ; n = 25 ; n+ ) for ( i = 0 ; i 30 ; i+ ) ti = ti * n ; for ( i = 0 ; i 29 ; i+ ) ti+1 = ti+1 + ti / 10 ; ti = ti % 10 ; for ( i = 0 ; i 30 ; i+ ) si = si + ti ; for ( i = 0 ; i = 0 ; i- ) if ( si != 0 ) break ; for ( ; i = 0 ; i- ) printf ( s=%d , si ) ;结果如下:s=161586881148005538289403138. 定义3个指向含有4个元素的一维整型数组的指针变量,用其求A矩阵与B矩阵的和矩阵C。其中:。解:(1)算法传统流程图如图15所示,N-S流程图如图16所示。(2)程序和运行结果如下:#include void main ( ) int i , j ; int (*p1)4 , (*p2)4 , (*p3)4 ; int a 4 = 1 , 1 , 2 , 1 , 2 , 2 , 1 , 3 , 4 , 2 , 3 , 1 ; int b 4 = 2 , 3 , 5 , 2 , 3 , 1 , 6 , 1 , 1 , 1 , 5 , 0 , c 34 ; p1 = a ; p2 = b ; p3 = c ; for ( i = 0 ; i 3 ; i+ ) for ( j = 0 ; j 4 ; j+ ) *( * ( p3 + i )+ j ) = *( * ( p1 + i )+ j ) + *( * ( p2 + i )+ j ) ; printf ( %3d , *( * ( p3 + i )+ j ) ) ; printf ( n ) ; 结果如下:347353745381a34 =1,1,2,1,2,2,1,3,4,2,3,1for i = 0 to 2b34 =2,3,5,2,3,1,6,1,1,1,5,0for j = 0 to 3输出 *( * ( p3 + i )+ j ) )*(*(p3+i)+j)=*(*(p1+i)+j)+*(*(p2+i)+j)输出 n开 始a34 =1,1,2,1,2,2,1,3,4,2,3,1j = 0结 束i 3i = 0j 4*(*(p3+i)+j)=*(*(p1+i)+j)+*(*(p2+i)+j)输出 *( * ( p3 + i )+ j ) )TFTFj = j+1i = i + 1输出 nb34 =2,3,5,2,3,1,6,1,1,1,5,0p1 = a , p2 = b , p3 = cp1 = a , p2 = b , p3 = c图15 传统流程图 图16 N-S流程图9. 定义一个含有5个元素的一维字符指针数组,再定义二维字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件工程师面试宝典软件技术预测试题及解析
- 2025年烷基化工艺作业考试常见问题及解答
- 2025年猪肉行业趋势分析与预测题
- 28、水平二篮球备课18课时+匹配教案
- 2025年物联网技术领域高级职位求职必-备面试题答案详解
- 电力供应基础知识培训课件
- 2025年初中音乐特岗教师招聘面试指南及预测题
- 2025年基于实际案例的灌区管理工初级面试题分析与解答
- 2025年物联网技术入门指南与初级考试要点解析
- 人口手耳目教学课件
- 2025年河北高考生物试卷真题答案详解及备考指导
- 2025年高校教师资格证考试《高等教育政策和法规》真题卷(附详细解析)
- 餐饮区域保护合同范本
- T/CGCC 35-2019单用途商业预付卡卡片规范
- DB32/T 4598-2023光伏农业园区规划编制要求
- DB31/T 552-2017大型商业建筑合理用能指南
- 科研助理合同协议书
- 绿化工程挂靠合同协议
- 江苏省建筑安装工程施工技术操作规程
- 顾问项目进驻与退出管理办法
- 2025版离职合同范本
评论
0/150
提交评论