资源描述:
《使用数组的程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言程序设计实验报告实验四使用数组的程序设计班级学号姓名赵广强一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。(2)掌握字符数组的使用。(3)掌握与数组有关的算法。二、实验内容及步骤1、检验并打印幻方矩阵在下面的5*5阶幻方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些幻方矩阵中的元素读到一个二维整型数组中,然后检验其是否为幻方矩阵,并将其按如下格式显示到屏幕上。17241815235714164613202210121921311182529程序代码:^includevoid
2、main(){ints[5][5];inti,j,n=0,suml二0,t二0;printf(z,请输入幻方矩阵中的数:〃);for(i=0;i<5;i++){for(j=0;j<5;j++)scanf("%d",&s[i][j]);}for(i=0;i<5;i++){for(j=0;j<5;j++)suml+二s[i][j];printf(〃第%d行元素之和为:%d〃,i+1,suml);suml=0;}for(i=0;i<5;i++){for(j=0;j<5;j++)suml+二s[j][i];printf(z,第%(1列元素之和为
3、:%d〃,i+1,suml);suml=0;}for(i=0;i<5;i++){suml+二s[i]Li];if(i=4)printf("主对角线Z和为:%d",suml);}suml=0;for(i=0;i<5;i++){suml+=s[i][4-i];t二t+1;if(t==5)printf(〃次对角线Z和为:%dz,,suml);}printfC看到了吧,每一行、每一列、每一对角线上的元素之和都是相等的,所以它是个幻方矩阵W现在输出矩阵如下:『);for(i=0;i〈5;i++)for(j=0;j<5;j++){printf
4、(〃%3cT,s[i][j]);n=n+l;if(n%5==0)printf(〃〃);}}运行结果65每一列、每一对角线上的元素之和都是相等的,所以它是个幻方矩P*E:CDebug38・117241815E3571416461320221012192131829tocontinue11Press10121921341320222371416元元元元元元元元元阮籃爲24?和和和和和和和和和和2之之之之之之之之之之5素素素素素素素素素素2.・・很7.5为为一如1和矍阵8“之之,矩1■线线吧岀18列列列列列剖主-.1234512345^/^
5、/买用?2、完成以下程序,并进行调试某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求:1)计算每个学生的总分和平均分;2)按总分成绩由高到低排出成绩的名次;3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分;4)任意输入一个学号,能够查找出该学牛在班级中的排名及其考试分数。【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。程序代码:#ineludevoidnidin(){
6、intscore[5][3];intnum[5];intnum2[5];intsum[5]={0,0,0,0,0};intaver[5];inti=0,j=0,k=0,t,n,flag,w,m,x;for(i=0;i<5;i++){printfC请输入第%(1个学生的学号及数学,英语,计算机成绩:〃,i+1);scanf(,z%dzz,&num[i]);for(j=0;j<3;j++)scanf(〃%d〃,&score[i][j]);}printf(z,开始计算学生的总分:rT);for(i=0;i<5;i++)for(j=0;j<3;j++
7、)sum[i]+=score[i][j];for(i=0;i<5;i++)printf(z,学号为%d的总分是:%d〃,i+1,sum[i]);printf(〃开始计算学生的平均成绩:〃);for(i=0;i<5;i++){aver[i]=sum[i]/3;printf("学号为%d的平均分是:%d〃,i+1,aver[i]);}printfC名次从高到低排列:〃);for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(sum[j]8、[j+l]=t;w二num[j];num[j]二num[j+1];num[j+l]=w;m=aver[j];aver[j]=aver[j+1];ave