C语言程序设计实验57教案新部编本Word格式.docx
- 文档编号:18142072
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:19
- 大小:71.04KB
C语言程序设计实验57教案新部编本Word格式.docx
《C语言程序设计实验57教案新部编本Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验57教案新部编本Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
重点:
完成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
结束
a[10]={15,5,9,2,7,11,8,3,12,1}
i<
9
i=0
j<
9-i
a[j]⇔a[j+1]
a[j]>
a[j+1]
输出a[i]
T
F
j=j+1
i=i+1
10
输出"
\n"
a[j]⇔a[j+1]
输出a[i]
fori=0to8
a[j]>
a[j+1]
forj=0to9-i
fori=0to9
图1传统流程图图2N-S流程图
(2)程序和运行结果如下:
#include<
stdio.h>
voidmain()
{inti,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]);
);
结果如下:
ㄩㄩ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所示。
输出*(p+i)
forj=i+1to9
k=j
*(p+j)>
*(p+j+1)
k≠i
k=i,j=i+1
p=a,i=0
*(p+k)>
*(p+j)
*(p+i)⇔*(p+k)
k=i
图3传统流程图图4N-S流程图
{inti,j,k,t,*p;
inta[10]={15,5,9,2,7,11,8,3,12,1};
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传统流程图图6N-S流程图
{inti,j;
chars1[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所示。
inta[][4]={{1,1,2,1},{2,2,1,3},{4,2,3,1}};
intb[][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传统流程图图8N-S流程图
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
max=a[i][j]
a[2][3]={3,9,2,7,5,1}
fori=0to1
forj=0to2
max<
a[i][j]
输出max,row,colum
b[3][4]={2,3,5,2,3,1,6,1,1,1,5,0}
2
3
max=a[i][j];
输出max,row,colum
max=a[0][0],row=0,colum=0
row=i
colum=j
row=i
colum=j
图9传统流程图图10N-S流程图
6.定义二维数组,存放5个字符串"
dog"
、"
tiger"
wolf"
cat"
horse"
,然后用选择法将这5个字符串按由小到大的顺序排序并输出。
(1)算法传统流程图如图11所示,N-S流程图如图12所示。
c[5][10]={"
"
j=i+1
5
输出c[i]串
c[k]串>
c[j]串
c[k]串⇔c[i]串
fori=0to4
forj=i+1to4
c[k]串>
c[j]串
c[k]串⇔c[i]串
图11传统流程图图12N-S流程图
string.h>
{inti,j,k;
charc[5][10]={"
"
};
chart[10];
5;
if(strcmp(c[k],c[j])>
0)k=j;
{strcpy(t,c[k]);
strcpy(c[k],c[i]);
strcpy(c[i],t);
c[i]);
cat
dog
horse
tiger
wolf
7.求s=
的准确值(结果:
s=16158688114800553828940313)。
(1)算法传统流程图如图13所示,N-S流程图如图14所示。
输出s[i]
t[30]={1},s[30]={0}
t[i]=t[i]*n
n≤25
n=1
30
i=i+1
t[i+1]=t[i+1]+t[i]/10
29
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
n=n+1
break
i≥0
i=i–1
i=29
s[i]≠0
forn=1to25
fori=0to29
s[i]≠0
fori=29to0step–1
forito0step–1
图13传统流程图图14N-S流程图
{inti,n;
intt[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;
i++)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(;
i--)printf("
s=%d"
s[i]);
s=16158688114800553828940313
8.定义3个指向含有4个元素的一维整型数组的指针变量,用其求A矩阵与B矩阵的和矩阵C。
(1)算法传统流程图如图15所示,N-S流程图如图16所示。
int(*p1)[4],(*p2)[4],(*p3)[4];
inta[][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));
a[3][4]={1,1,2,1,2,2,1,3,4,2,3,1}
fori=0to2
forj=0to3
输出*(*(p3+i)+j))
*(*(p3+i)+j)=*(*(p1+i)+j)+*(*(p2+i)+j)
4
p1=a,p2=b,p3=c
图15传统流程图图16N-S流程图
9.定义一个含有5个元素的一维字符指针数组,再定义二维字符数组,存放5个字符串"
,然后用该一维字符指针数组并采用选择法将这5个字符串按由小到大的顺序排序并输出。
要求排序后二维数组中的字符串不允许改变。
(1)算法传统流程图如图17所示,N-S流程图如图18所示。
输出p[i]串
p[k]串>
p[j]串
p[k]⇔p[i]
p[i]=c[i]
i=i+1
p[k]串>
p[j]串
图17传统流程图图18N-S流程图
char*p[5],*t;
i++)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 教案 新部编