云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言程序设计实验5-7教案

C语言程序设计实验5-7教案

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 15:15:01

课程名称 授课班级 程序设计基础 网络16-1、2 课程性质 授课地点 第 7-8 次 实验课 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所示。

输出 \ 结 束 i = 0 i < 10 T 输出 a[ i ] i = i + 1 F 开 始 a[10]= { 15,5,9,2,7,11,8,3,12,1} i = 0 i < 9 T j = 0 j < 9-i T a[j]>a[j+1] T a[ j ] ? a[ j+1 ] j = j+1 a[10]= { 15,5,9,2,7,11,8,3,12,1} for i = 0 to 8

i = i + 1 for j = 0 to 9 - i

a[ j ] > a[j+1] T

a[j]?a[j+1]

for i = 0 to 9

输出 a [ i ] 输出 \

F F F F

图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 ( \ printf ( \ } 结果如下:

ㄩㄩ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流程图

j = j+1 F 开 始 a[10]= { 15,5,9,2,7,11,8,3,12,1} p = a , i = 0 i < 10 T k = i , j = i + 1 j < 10 T *(p+k)>*(p+j) T k = j F F F a[10]= { 15,5,9,2,7,11,8,3,12,1}

p = a , i = 0

for i = 0 to 9

k = i

for j = i + 1 to 9

*(p+j)>*(p+j+1) T

k = j

k ≠ i T *(p+i)?*(p+k) 输出 *(p+ i ) i = i + 1 T

k ≠ i

F

F

*(p+i)?*(p+k)

输出 *(p+ i ) 输出 \

(2)程序和运行结果如下:

#include void main ( ) { int i , j , k , t ,*p ;

int a[10] = { 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 < 10 ; j++ )

if ( *( p + k ) > *( p + j ) ) k = j ;

if ( k != i )

{ t = *( p + i ) ; *( p + i ) = *( p + k ) ; *( p + k ) = t ; } printf ( \ }

printf ( \}

结果如下:

ㄩㄩ1ㄩㄩ2ㄩㄩ3ㄩㄩ5ㄩㄩ7ㄩㄩ8ㄩㄩ9ㄩ11ㄩ12ㄩ15

3. 编一程序,将字符数组s1中存放的字符串\ㄩamㄩa ㄩ\和字符数组s2中存放的字符串\连接起来,连接后的字符串存放在s1中。不要使用任何字符串函数。

解:(1)算法传统流程图如图5所示,N-S流程图如图6所示。 j = 0 s1[i++]=s2[j++] T 输出 s1 F 开 始 s1[80]= \i = 0 s1[ i ] T i = i + 1 F 当s1[ i ]

i = i + 1

当s1[i++]=s2[j++]

s1[80]= \

i = 0

输出 s1

结 束 图5 传统流程图 图6 N-S流程图

搜索更多关于: C语言程序设计实验5-7教案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

课程名称 授课班级 程序设计基础 网络16-1、2 课程性质 授课地点 第 7-8 次 实验课 1402 授课时间 2016年11月9日第5小节~第8小节 2016年11月16日第5小节~第8小节 2016年11月23日第5小节~第8小节 课题: 实验六、 数组的应用——4学时 主要教学内容:一、二维数组、字符数组的定义、初始化和引用方法及字符串 函数的用法;一、二维数组、字符数组的地址和指针的概念和用法; 与数组有关的算法。 教学目标:1. 掌握一、二维数组、字符数组的定义、初始化和引用方法及字符 串函数的用法; 2. 掌握一、二维数组、字符数组的地址和指针的概念和用法; 3. 理解与数组有关的算法。 重 点:完成9个题目的设计。 <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com