您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 实验6数组—二维数组和字符数组
淮海工学院计算机科学系实验报告书课程名:《C语言程序设计A》题目:实验6数组——二维数组和字符数组班级:软嵌151学号:2015123349姓名:陈正宁评语:成绩:指导教师:批阅时间:年月日C语言程序设计实验报告1、实验内容或题目(1)设某班有4门课程(语文、数学、英语,程序设计)的成绩。先输入学生人数,然后按学号从小到大的顺序依次输入学生成绩。编写一个程序实现统计每门课程全班的总成绩、平均成绩和最高分,以及每个学生的总成绩和平均成绩,并按总分从高到低顺序输出学生的学号、各门课程成绩及总成绩。(2)从键盘输入10个字符串,由小到大输出。(3)教材169页的第7和第8题。(4)编写一个程序,将两个字符串合并成一个字符串。(不允许使用strcat函数)2、实验目的与要求(1)掌握二维数组的定义和输入输出的方法。(2)掌握与数组有关的算法,如排序、查找。(3)掌握字符数组和字符串处理函数的使用。3、实验步骤与源程序⑴实验步骤⑵源代码(1)、#includestdio.hintmain()#defineN50{intscore[N][6],total[4];doublesavg[N],cavg[4];inti,j,s,n,t;printf(请输入学生的个数:);scanf(%d,&n);for(i=0;in;i++){printf(请输入第%d学生的学号:,i+1);scanf(%d,&score[i][0]);printf(请分别输入此学生的语文,数学,英语,计算机的分数:);scanf(%d%d%d%d,&score[i][1],&score[i][2],&score[i][3],&score[i][4]);C语言程序设计实验报告}for(i=0;in;i++){score[i][5]=score[i][1]+score[i][2]+score[i][3]+score[i][4];savg[i]=(double)score[i][5]/4;}for(i=0;in-1;i++){for(j=0;jn-1-i;j++){if(score[j][5]score[j+1][5]){for(s=0;s6;s++){t=score[j][s];score[j][s]=score[j+1][s];score[j+1][s]=t;}}}}for(i=0;i4;i++){total[i]=0;for(j=0;jn;j++){total[i]=total[i]+score[j][i+1];}cavg[i]=(double)total[i]/n;}printf(计算结果如下:\n);printf(编号\t学号\t语文\t数学\t英语\t体育\t总分\t均分\n);for(i=0;in;i++){printf(第%d名:,i+1);for(j=0;j6;j++){printf(\t%d,score[i][j]);}printf(\t%3.1lf\n,savg[i]);}printf(总分:);printf(\t);for(i=0;i4;i++){printf(\t%d,total[i]);C语言程序设计实验报告}printf(\n均分:);printf(\t);for(i=0;i4;i++){printf(\t%3.1lf,cavg[i]);}return0;}(2)、#includestdio.h#includestring.hvoidmain(){chars[10][20],t[20];inti,j;for(i=0;i10;i++){printf(请输入第%2d个字符串:,i+1);gets(s[i]);}printf(\n);for(j=0;j20;j++)for(i=0;i20-i;i++)if(strcmp(s[i],s[i+1])0){strcpy(t,s[i]);strcpy(s[i],s[i+1]);strcpy(s[i+1],t);}printf(输入的10个字符串,由小到大排序依次为:\n);for(i=0;i10;i++)puts(s[i]);}C语言程序设计实验报告(3)、#includestdio.hvoidmofangzhen(intm){inta[100][100];intb,x,y;for(x=0;xm;x++){for(y=0;ym;y++)a[x][y]=0;}x=0;y=(m-1)/2;a[x][y]=1;for(b=2;b=m*m;b++){if(x-10)x=(x-1+m)%m;elsex=x-1;if(y-10)y=(y-1+m)%m;elsey=y-1;if(a[x][y]!=0){x=(x+2)%m;y=(y+1)%m;}a[x][y]=b;}for(x=0;xm;x++){for(y=0;ym;y++)printf(%4d,a[x][y]);printf(\n);}}voidmain(){intm;while(m%2!=1){printf(请输入矩阵阶数m(奇数):\n);scanf(%d,&m);C语言程序设计实验报告if(m%2!=1)printf(m输入错误!\n);}mofangzhen(m);}(4)、#includestdio.h#defineMAX100voidmain(){inta[MAX][MAX],m,n,i,j,max,maxj,flag,k;printf(请输入行数列数(以空格分隔)[mnEnter]:);scanf(%d%d,&m,&n);printf(请输入%d个数:\n,m*n);for(i=0;im;i++)for(j=0;jn;j++)scanf(%d,&a[i][j]);printf(整理:\n);for(i=0;im;i++){for(j=0;jn;j++)printf(%5d,a[i][j]);printf(\n);}for(i=0;im;i++){max=a[i][0];maxj=0;for(j=0;jn;j++)if(a[i][j]max){max=a[i][j];maxj=j;}flag=1;for(k=0;km;k++)if(maxa[k][maxj]){flag=0;break;}C语言程序设计实验报告if(flag)printf(数组有鞍点:a[%d][%d]=%d\n,i+1,maxj+1,max);break;}if(!flag)printf(数组没有鞍点\n);}(5)、#includestdio.hintmain(){chara[30];charb[10];inti,j;printf(请输入字符串1:);gets(a);printf(请输入字符串2:);gets(b);for(i=0;i30;i++){if(a[i]=='\0')break;}for(j=0;j10;j++){a[i]=b[j];i++;}puts(a);return0;}4、测试数据与实验结果(可以抓图粘贴)C语言程序设计实验报告(1)、(2)、C语言程序设计实验报告(3)、C语言程序设计实验报告(4)、C语言程序设计实验报告(5)、5、结果分析与实验体会1.二维数组常称为矩阵。把二维数组写成行和列的排列形式,可以有助于形象化地理解二维数组的逻辑结构。2.C系统在用字符数组存储字符串常量时会自动加一个’\0’作为结束符。3.要记得专门处理字符串的函数,如:puts,gets等,要熟悉它们的用法。
本文标题:实验6数组—二维数组和字符数组
链接地址:https://www.777doc.com/doc-2457367 .html