365文库
登录
注册
2

华北水利水电大学C语言实验5

25阅读 | 0收藏 | 11页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
华北水利水电大学C语言实验5第1页
华北水利水电大学C语言实验5第2页
华北水利水电大学C语言实验5第3页
华北水利水电大学C语言实验5第4页
华北水利水电大学C语言实验5第5页
华北水利水电大学C语言实验5第6页
华北水利水电大学C语言实验5第7页
华北水利水电大学C语言实验5第8页
华北水利水电大学C语言实验5第9页
华北水利水电大学C语言实验5第10页
华北水利水电大学C语言实验5第11页
福利来袭,限时免费在线编辑
转Pdf
right
1/11
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
命中注定深信不疑 上传于:2024-07-10
C语言程序设计实验报告 实验5 使用数组的程序设计 班级 2013156 学号 201315613 姓名 吴浩 一、实验目的 (1)掌握一维数组和二维数组的定义、赋值和输入输出方法。 (2)掌握字符数组的使用。 (3)掌握与数组有关的算法。 二、实验内容及步骤 1、 检验并打印幻方矩阵 在下面的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 程序代码: #include int main() { int a[5][5]={0};//初始化 int i,j,m,n,temp; i=0; j=5/2; a[i][j]=1;//第一行中间填1 for(temp=2;temp<=5*5;temp++)//循环24次,填剩余的24个数 { m=i; n=j; i--; j++; if(i<0) i=5-1; if(j>5-1) j=0; if(a[i][j]!=0) {i=m+1; j=n;} a[i][j]=temp; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%4d",a[i][j]); printf("
"); } return 0; }  2、完成以下程序,并进行调试 某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求: 1)计算每个学生的总分和平均分; 2)按总分成绩由高到低排出成绩的名次; 3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分; 4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。 【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。 程序代码: #include main() {int num[5],i,j,k,c,e; float score[5][3],sum[5]={0},aver[5],t,a1,a2,a3,b; printf("请按从小到大学号输入各个同学的数学、英语和计算机的成绩:
"); for(i=0;i<5;i++) num[i]=i+1; for(i=0;i<5;i++) {printf("学号%d:",num[i]); for(j=0;j<3;j++) {scanf("%f",&score[i][j]);}} for(i=0;i<5;i++) for(j=0;j<3;j++) {sum[i]=score[i][j]+sum[i];} printf("
"); for(i=0;i<5;i++) printf("学号为%d的总分:%.2f
",num[i],sum[i]); printf("
"); for(i=0;i<5;i++) {aver[i]=sum[i]/3; printf("学号为%d的平均分:%.2f
",num[i],aver[i]);} printf("
"); for(i=0;i<5;i++) { for(k=0;k<5;k++) if(sum[i]>sum[k]) {t=sum[i]; sum[i]=sum[k]; sum[k]=t; c=num[i]; num[i]=num[k]; num[k]=c; a1=score[i][0]; score[i][0]=score[k][0]; score[k][0]=a1; a2=score[i][1]; score[i][1]=score[k][1]; score[k][1]=a2; a3=score[i][2]; score[i][2]=score[k][2]; score[k][2]=a3; b=aver[i]; aver[i]=aver[k]; aver[k]=b;}} printf("名次 学号 数学 英语 计算机 总分 平均分
"); for(i=0;i<5;i++) printf("%d%9d%10.2f%10.2f%10.1f%10.1f%9.1f
",i+1,num[i],score[i][0],score[i][1],score[i][2],sum[i],aver[i]); printf("
"); p
tj