资源描述:
《c语言数组程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计实验报告实验四使用数组的程序设计一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。(2)掌握字符数组的使用。(3)掌握与数组有关的算法。二、实验内容及步骤1、检验并打印幻方矩阵在下面的5*5阶幻方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些幻方矩阵中的元素读到一个二维整型数组中,然后检验其是否为幻方矩阵,并将其按如下格式显示到屏幕上。17241815235714164613202210121921311182529程序代码:#includevoidma
2、in(){inti,j,flag=0,s1=0,s2=0;inta[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}};for(i=0;i<5;i++)//判断每行元素之和是否相等{ints=0;for(j=0;j<5;j++){s+=a[i][j];}if(s!=65){flag=0;printf("所求矩阵不是幻方矩阵");break;}flag=1;//若每行元素之和都相等,将标志置为1}for(j=0;j
3、<5;j++)//判断每列元素之和是否相等{ints=0;for(i=0;i<5;i++)8{s+=a[i][j];}if(s!=65){flag=0;printf("所求矩阵不是幻方矩阵");break;}flag=1;//若每列元素之和都相等,将标志置为1}//判断两条对角线上元素之和是否和每行列元素之和相等for(i=0;i<5;i++){s1+=a[i++][i++];}if(s1!=65)flag=0;elseflag=1;for(i=0;i<5;i++){s2+=a[i][4-i];}if(s2!=65)flag=
4、0;elseflag=1;if(flag==1){printf("所求矩阵是幻方矩阵");}else{printf("所求矩阵不是幻方矩阵");}//输入幻方矩阵for(i=0;i<5;i++){for(j=0;j<5;j++){8printf("%-3d",a[i][j]);}printf("");}}程序运行结果:所求矩阵是幻方矩阵172418152357141646132022101219213111825292、完成以下程序,并进行调试某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求
5、:1)计算每个学生的总分和平均分;2)按总分成绩由高到低排出成绩的名次;3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分;4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。程序代码:#include#includemain(){floatscore[3][3]={{85.5,78,85},{75.5
6、,65,63},{80,90,83.5}},sum[3]={0.0},aver[3]={0.0},temp;intnum[3]={1,2,3},i,j,t,student_num;printf("学生成绩(按学号从小到大顺序排列)");for(i=0;i<3;i++){for(j=0;j<3;j++){sum[i]+=score[i][j];printf("%8.1f",score[i][j]);}aver[i]=sum[i]/3.0;printf("");}8printf("总分和平均分分别为(按学号从小到大顺序排列)
7、n");for(i=0;i<3;i++){printf("%3.1f,%3.1f",sum[i],aver[i]);}//成绩总分降序排序for(i=0;i<2;i++){for(j=0;j<2-i;j++){if(sum[j]8、号t=num[j];num[j]=num[j+1];num[j+1]=t;//交换各科成绩for(intm=0;m<3;m++){temp=score[j][m];score[j][m]=score[j+1][m];score[j+1][m]=te