作业说明:
1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。
2.学习完第四单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式的电子作业,本次作业占形成性考核总成绩的15%。
作业内容:
根据“学生成绩的统计”程序,编写一个“歌唱比赛评分系统”的程序,要求运用数组和前面所学循环结构、输入输出、选择结构,能够进行多名歌手简单信息的录入,比赛分数的录入,去掉一个最高分,去掉一个最低分,剩余取平均分作为选手成绩,能够根据选手姓名或者编号查询输出选手成绩。
作业要求:
(1) 程序的主要设计思路,以文字或图表的形式描述比如歌手信息包括哪些,比赛分数如何存储等程序设计细节。
(2) 程序的源代码以及对源代码必要的行注释。
(3) 以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第四次作业。
作业回答区:
(1) 定义一个二位数组gs, 每一行存储一个歌手的比赛分数, 每一行的前9个元素存储该歌手的每一个比赛分数,最后一个元素存储该歌手的最后成绩
(2) 源程序
#include <stdio.h>
Void main ( )
{ float gs[20][10], max, min, sum, avg;/*gs可存储20名歌手的信息,每名歌手有9个比赛分数,和最后的一个总评成绩。*/
Int I, j;
For(i=0; i<20; i++)//循环20次,每次循环处理一名歌手的成绩
{ max=0;min=100;sum=0;
Printf(“please input the %d player’s score:\n”, i+1);
For (j=0; j<9;j++) //循环9次,每次循环输入该歌手的一个比赛分数
{ scanf(“%f”, &gs[i][j]);
Sum=sum+gs[i][j];
If(gs[i][j]>max) max= gs[i][j]; //求该歌手的最高分
If(gs[i][j]<min) min= gs[i][j];//求该歌手的最低分
}
Avg=(sum-max-min)/7;//求该歌手的最后得分
Gs[i][9]=avg;
}
Pintf(“歌手得分为:\n”);
For (i=0;i<20;i++)
Printf(“编号为%d的歌手的成绩为%f\n”, i+1,gs[i][9]);
}
BBS论坛交流(独立在论坛计分)
数组的运用(占形考5%)
数组是程序用来保存数据的一种重要方法,谈谈您对数组运用的理解。