第 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 所示。
图 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 < 9 - i ; j++ )
if ( a[ j ] > a[ j + 1 ] ) { t = a[ j ] ; a[ j ] = a[ j + 1 ] ;
a[ j + 1 ] = t ; }
for ( i = 0 ; i < 10 ; i++ )
printf ( "%3d" , a[ i ] ) ;
printf ( "\n" ) ; }
结果如下:
ㄩㄩ 1 ㄩㄩ 2 ㄩㄩ 3 ㄩㄩ 5 ㄩㄩ 7 ㄩㄩ 8 ㄩㄩ 9 ㄩ 11 ㄩ 12 ㄩ 15
2. 定义一个指向整型变量的指针变量,用该指针变量对 10 个整数
15,5,9,2,7,11,8,3,12,1 采用选择法进行由小到大排序。
解:( 1)算法传统流程图如图 3 所示, N-S 流程图如图 4 所示。
图 3 传统流程图 图 4 N-
S 流程图
(2)程序和