2023年实验报告实验六数组.docx
Taishan Un i versity教师教育学院实验报告【- 学年第学期】【一、基本信息】【实验课程】C语言程序设计【设课形式】非独立【课程学分】3【实验项目】实验六数组(一)【项目类型】验证型【项目学时】6【实验室名】网络技术实验室【专业名称】教育技术学【年 级】202 3 级【实验班组】【学生姓名】【学 号】【同组学生】【实验日期】2023. 1 0. 2 9【二、实验教师对实验报告的评价及意见】实验成绩:教师署名:批改日期:【三、实验预习】 实验目的和规定; 实验内容和原理或设计的知识点(综合性实验); 实验条件(实验设备、软 件、材料等): 实验方法、环节、操作过程或实验设计方案(设计型实验);根据需要合理设 计实验数据登记表格。实验目的和规定:一、实验目的:1 .掌握一维数组和二维数组的定义、初始化。2 .掌握一维数组和二维数组的输入输出和使用的方法。3 .掌握字符数组和字符串函数的使用4 .掌握与数组有关的算法5 .掌握冒泡法排序、选择法排序二、实验规定:编程序并上机调试运营。1 .用冒泡法对20个整数排序。2 0个整数需要键盘键入。2 .用选择法对20个整数排序。20个整数需要键盘键入。3 .找出一个二维数组的“靶点”,即该位置上的元素在该行上最大,在 该列上最小(该数组也也许没有靶点)。4 .有一篇文章有3行文字,每行80个字符,规定分别记录出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。【四、实验过程】该部分重要涉及学生在实验过程中所用的实际实验方法、环节、操作过程及注意事项,实验设计方 案(设计型实验)的过程,实验现象,原始数据记录等。程序代码和运营结果I.冒泡法# in c lude <st d io. h >int main()(i nt a 110J;int i ,j,t;print f('*i n put 10 numbers :n");for(i=0;i<10;i+)scanf( w %d ”prin t f (,rn");fo r (j=0;j<9 ;j4-+)of or (i=0;i<9-j;i+)if(a i >a i +1)。t=ai;a i =a i + 1 ;ai+l=t;)pr i nt f ( " the so r te d n umbers : n ");fdr(i=0;i<10;i+)pr i n t f ( "", ai);p r intf ("n ");re turn 0;).选择法#in c 1 ude < s td i o.h>i nt main()in t i,j, min, t e mp,a2 1 ;p ri n t f ("ent e r d ata:n',);for (i= 1 ;i<= 2 0;i+) p ri n t f ("a% d = " ,i);scanf("%d”,&ai);printf("nn);pr i ntf("The orginal num b e r s: n ");f or (i= 1 ; i <=20; i+)prin t f ("%5d " ,ai);prin t f (" n");for ( i =l;i< = 19;i+4-)mi n=i;for (j=i+l ; j<=2 0 ; j+)if(amin>a j ) min= j ;temp= a i;ai=amin;a min=t e m p ;)printf(" nThe sor t ed n u mbe r s : n");for (i=l;i<=10; i+)p r i ntf(" % 5 d ", a i);prinlf(”n”);return 0;.找靶点# i nclude < s tdio. h ># de f i n e N 4/*数组为4行5列*/# def i neM5int m a i n ()(in t i ,j,k,a NM, ma x , m a xj,flag ;prin t f("ple a se i n pul matri x :n"); f or (i=0; i<N; i +) for(j=0;j<M;j+)/ *开始时假设ai最大*/*将列号0赋给maxj保存*/*找出第i行中的最大数*/*将本行的最大数存放在max中*/*将最大数所在的列号存放在max j中*/*先假设是鞍点,以flag为1代表*/*将最大数和其同列元素相比*/* 假如max不是同列最小,表达不是鞍点令fl agls canf( " % d " ,&a i j ); for( i =0;i<N ; i+) max=ai 0;niaxj=0;f or(j=0;j<M; j +) if (ai j >max) max = a i j ;maxj=j;)f la g =1;for (k =0;k<N;k+) if (max>a( k maxj)f 1 a g=0; 为0*/*假如flagI为I表达是鞍点*/i,m a x j ,max); /*输出鞍点的值和所在行列号*/sco n t in u e ;)if(flag)op rintf("a%d %d=%dn", break;°)I/*假如fla g为0表达鞍点不存在* /if(! f lag)。print f ("It is not exist!'n") r e tu r n 0;.记录字符#include <stdi o ,h>i n t main()inti, j.upp, 1 o w, dig, s pa, o t h;char t ext380;upp=low=dig=s p a =oth= 0 ;for (i=0; i<3;i+) pr i n i f ("pl e a se i n put line %d: n", i + 1 );g ets(texti);for (j= 0 ;j<80 && t exti j l=r (T;j+)i f ( t ex t i j>='A'&& textij<='Z')u P p+;else i f (texlij>=/ a1 && te x t <='z') low+;else i f(tex t ij>=, 0 ' && tex t i j <='9') d ig+;else i f (text i j ='')spa+;elseo ih+;pr i n tf(Hn u pp e r c a se:pr i n tf(Hn u pp e r c a se:pr i n tf("lowe r ca s p r int f ( " di g i t prin t f ( ° space pr i ntf Cot h erreturn 0 ;% d n ",u p p);%d n " , 1 ow);:%dn",dig);:% d n*',sp a );:%dnH,o t h);【五、结果分析与讨论】根据相关的理论知识对所得到的实验结果进行解释和分析,涉及实验的结果是否与理论相吻合以及 因素,实验后的心得体会、建议等。