C语言程序设计实验57教案Word文档格式.docx
- 文档编号:19213770
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:364.40KB
C语言程序设计实验57教案Word文档格式.docx
《C语言程序设计实验57教案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验57教案Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
串函数的用法;
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<
stdio.h>
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;
}
10;
printf("
%3d"
a[i]);
\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
i,j,k,t,*p;
int
a[10]={
p=a;
k=i;
for(j=i+1;
if(*(p+k)>
*(p+j))
k=j;
if(k!
=i)
t=*(p+i);
*(p+i)=*(p+k);
*(p+k)=t;
*(p+i));
}
3.编一程序,将字符数组s1中存放的字符串"
Iㄩamㄩaㄩ"
和字符数组s2中存放的字符串"
student."
连接起来,连接后的字符串存放在s1中。
不要使用任何字符串函数。
(1)算法传统流程图如图5所示,N-S流程图如图6所示。
图5
图6
i,j;
char
s1[80]="
Iama"
s2[40]="
;
i=0;
while(s1[i])i++;
j=0;
while(s1[i++]=s2[j++]);
%s\n"
s1);
}
Iㄩamㄩaㄩstudent.
4.求A矩阵与B矩阵的和矩阵C。
其中:
。
(1)算法传统流程图如图7所示,N-S流程图如图8所示。
void
main()
a[][4]={{1,1,2,1},{2,2,1,3},{4,2,3,1}};
b[][4]={{2,3,5,2},{3,1,6,1},{1,1,5,0}},c[3][4];
3;
for(j=0;
4;
c[i][j]=a[i][j]+b[i][j];
c[i][j]);
}
ㄩㄩ3ㄩㄩ4ㄩㄩ7ㄩㄩ3
ㄩㄩ5ㄩㄩ3ㄩㄩ7ㄩㄩ4
ㄩㄩ5ㄩㄩ3ㄩㄩ8ㄩㄩ1
图7
图8
5.编程求出二维数组a的最大元素,同时求出该最大元素所在的行row和列column。
a数组如下:
(1)算法传统流程图如图9所示,N-S流程图如图10所示。
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++)
if(max<
a[i][j])
max=a[i][j];
row=i;
colum=j;
printf("
max=%d,row=%d,colum=%d\n"
max,row,colum);
max=9,row=0,colum=1
F
T
图9
图10
6.定义二维数组,存放5个字符串"
dog"
、"
tiger"
wolf"
cat"
horse"
,然后用选择法将这5个字符串按由小到大的顺序排序并输出。
(1)算法传统流程图如图11所示,N-S流程图如图12所示。
图11
图12
string.h>
i,j,k;
c[5][10]={"
"
t[10];
5;
if(strcmp(c[k],c[j])>
0)
strcpy(t,c[k]);
strcpy(c[k],c[i]);
strcpy(c[i],t);
c[i]);
cat
dog
horse
tiger
wolf
7.求s=
的准确值(结果:
s=28940313)。
(1)算法传统流程图如图13所示,N-S流程图如图14所示。
图13
图14
i,n;
t[30]={1},s[30]={0};
for(n=1;
n<
=25;
n++)
for(i=0;
30;
i++)
t[i]=t[i]*n;
29;
t[i+1]=t[i+1]+t[i]/10;
t[i]=t[i]%10;
s[i]=s[i]+t[i];
s[i+1]=s[i+1]+s[i]/10;
s[i]=s[i]%10;
for(i=29;
i>
=0;
i--)
if(s[i]!
=0)
break;
for(
printf("
s=%d"
s[i]);
s=28940313
8.定义3个指向含有4个元素的一维整型数组的指针变量,用其求A矩阵与B矩阵的和矩阵C。
(1)算法传统流程图如图15所示,N-S流程图如图16所示。
(*p1)[4],(*p2)[4],(*p3)[4];
a[][4]={{1,1,2,1},{2,2,1,3},{4,2,3,1}};
p1=a;
p2=b;
p3=c;
*(*(p3+i)+j)=*(*(p1+i)+j)+*(*(p2+i)+j);
*(*(p3+i)+j));
图15
图16
9.定义一个含有5个元素的一维字符指针数组,再定义二维字符数组,存放5个字符串"
,然后用该一维字符指针数组并采用选择法将这5个字符串按由小到大的顺序排序并输出。
要求排序后二维数组中的字符串不允许改变。
(1)算法传统流程图如图17所示,N-S流程图如图18所示。
图17
图18
*p[5],*t;
p[i]=c[i];
if(strcmp(p[k],p[j])>
t=p[k];
p[k]=p[i];
p[i]=t;
p[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 57 教案