C语言程序设计实验57教案.docx
- 文档编号:6208975
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:364.40KB
C语言程序设计实验57教案.docx
《C语言程序设计实验57教案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验57教案.docx(14页珍藏版)》请在冰豆网上搜索。
C语言程序设计实验57教案
第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
voidmain()
{ 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)程序和运行结果如下:
#include
voidmain()
{ 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("%3d",*(p+i));
}
printf("\n");
}
结果如下:
ㄩㄩ1ㄩㄩ2ㄩㄩ3ㄩㄩ5ㄩㄩ7ㄩㄩ8ㄩㄩ9ㄩ11ㄩ12ㄩ15
3.编一程序,将字符数组s1中存放的字符串"Iㄩamㄩaㄩ"和字符数组s2中存放的字符串"student."连接起来,连接后的字符串存放在s1中。
不要使用任何字符串函数。
解:
(1)算法传统流程图如图5所示,N-S流程图如图6所示。
图5 传统流程图 图6 N-S流程图
(2)程序和运行结果如下:
#include
voidmain()
{ int i,j;
char s1[80]="Iama",s2[40]="student.";
i=0;
while(s1[i])i++;
j=0;
while(s1[i++]=s2[j++]);
printf("%s\n",s1);
}
结果如下:
Iㄩamㄩaㄩstudent.
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[3][4];
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
{ c[i][j]=a[i][j]+b[i][j];
printf("%3d",c[i][j]); }
printf("\n"); } }
结果如下:
ㄩㄩ3ㄩㄩ4ㄩㄩ7ㄩㄩ3
ㄩㄩ5ㄩㄩ3ㄩㄩ7ㄩㄩ4
ㄩㄩ5ㄩㄩ3ㄩㄩ8ㄩㄩ1
图7 传统流程图 图8 N-S流程图
5.编程求出二维数组a的最大元素,同时求出该最大元素所在的行row和列column。
a数组如下:
。
解:
(1)算法传统流程图如图9所示,N-S流程图如图10所示。
(2)程序和运行结果如下:
#include
voidmain()
{ inta[2][3]={3,9,2,7,5,1};
inti,j,max=a[0][0],row=0,colum=0;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 57 教案
![提示](https://static.bdocx.com/images/bang_tan.gif)