版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏开放大学
形成性考核作业
学__一
姓__—
课程代码:_---------
课程名称:______程隹逡±L基碘
评阅教师:------------------------
第2次任务
共3次任务
050308程序设计基础第四单元形成性考核作业
作业说明:
1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。
2.学习完第四单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形
式的电子作业,本次作业占形成性考核总成绩的20%o
作业内容:
根据“学生成绩的统计”程序,编写一个“歌唱比赛评分系统”的程序,要求运用数组和前面
所学循环结构、输入输出、选择结构,能够进行多名歌手简单信息的录入,比赛分数的录入,
去掉一个最高分,去掉一个最低分,剩余取平均分作为选手成绩,能够根据选手姓名或者编号
查询输出选手成绩。
作业要求:
(1)程序的主要设计思路,以文字或图表的形式描述比如歌手信息包括哪些,比赛分数如
何存储等程序设计细节;
(2)程序的源代码以及对源代码必要的行注释;
(3)请把程序运行结果截图贴在本次作业中;
(4)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第二次作业。
作业回答区:
#include<stdio.h>
#include<windows.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
ttdefinesize5〃评委人数
#definemaxstu10〃选手人数
structstudent〃信息结构体
(
intbanji;〃编号
charname[20];〃名字
intscore[size];〃评委评分
floatmax;〃最大值
floatmin;〃最小值
floatsum;〃总分
floataverage;〃平均值
};
intcount=0;〃选手人数
structstudentstu[size];〃定义全局变量
voidfunl0〃选手信息录入
第1页
050308程序设计基础第四单元形成性考核作业
inti,j;〃i代表选手,j代表评委
intsm;〃定义需要录入几位选手
floatmaxi,mini;〃最大值,最小值
printf(〃请输入10位以内选手人数:〃);
scanf_s&sm);
for(i=0;i<sm;i++)
(
printf(〃请输入%d选手信息\n〃,i+1);
printf(〃请输入编号:〃);
scanf_s(〃%d〃,&stu[i].banji);
getchar();
printf(〃请输入姓名:");
gets_s(stu[i].name);
for(j=0;j<size;j++)
(
printf(〃请输入%d评委打分:〃,j+1);
scanf_s(〃%d〃,&stu[i].score[j]);
)
count++;
)
〃最高分,最低分,总分,平均值
for(i=0;i<count;i++)
(
maxi=stu[i].score[0];
for(j=0;j<size;j++)
(
if(maxi<stu[i].score[j])
maxi=stu[i].score[j];
)
stu[i].max=maxi;
)
for(i=0;i<count;i++)
(
mini=stu[i].score[0];
for(j=0;j<size;j++)
(
if(mini>stu[i].score[j])
mini=stu[i].score[j];
)
stu[i].min=mini;
)
for(i=0;i<count;i++)
第2页
050308程序设计基础第四单元形成性考核作业
stu[i].sum=stu[i].score[0];
for(j=1;j<size;j++)
(
stu[i].sum=stu[i].sum+stu[i],score[j];
}
stu[i].average=(stu[i].sum-stu[i].max-stu[i].min)/3;
}
}
voidfun2()〃按姓名查找
{
inti;〃定义循环
charx[20];〃定义查找姓名
printf(“请输入要查找选手的名字:”);
scanf_s("%s”,x);
getchar();
for(i=0;i<count;i++)
(
if(strcmp(stu[i].name,x)!=0)〃判断是否相等
(
continue;
printf(“没有找到学号为%s的选手信息\n”,x);
}
else
(
printf("要查找的选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f",
stu[i].banji,stu[i].name,stu[i],score[0],stu[i].score[1],stu[i].score[2],
stu[i],score[3],stu[i],score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
}
getchar();
}
voidfun3()〃插入歌手信息
(
intweizhi,i,j;
floatmax2,min2;
structstudentx;〃定义局部变量
if(count==maxstu)
(
printf("位置已满,无法插入\n");
}
else
printf(”请输入要插入的位置:");
第3页
050308程序设计基础第四单元形成性考核作业
scanf_s(〃%d〃,&weizhi);
if(weizhi>count+1||weizhi<1)
(
printf(〃位置错误\n〃);
)
else
(
getchar();
printf(〃请输入编号:〃);
scanf_s&x.banji);
getchar();
printf(〃请输入姓名:〃);
gets_s(x.name);
for(j=0;j<size;j++)
(
printf(〃请输入评委打分:〃);
scanf_s&x.score[j]);
}
getchar();
for(i=0;i<count;i++)
(
max2=x.score[0];
for(j=0;j<size;j++)
(
if(max2<x.score[j])
max2=x.score[j];
}
x.max=max2;
}
for(i=0;i<count;i++)
(
min2=x.score[0];
for(j=0;j<size;j++)
(
if(min2>x.score[j])
min2=x.score[j];
}
x.min=min2;
}
for(i=0;i<count;i++)
{
x.sum=x.score[0];
for(j=1;j<size;j++)
第4页
050308程序设计基础第四单元形成性考核作业
X.sum=x.sum+x.score[j];
}
x.average=(x.sum-x.max-x.min)/3;
)
for(i=count-1;i>=weizhi-1;i一)
(
stu[i+1]=stu[i];
)
stu[weizhi-1]=x;
count++;
)
)
}
voidfun4()〃删除歌手信息
(
inti,j;
chara[20];
printf("请输入要删除选手的名字:");
scanf_sa);
getchar();
for(i=0;i<count;i++)
{
if(strcmp(stu[i].name,a)!=0)
(
continue;
printf(“没有找到学号为%s的选手信息\n”,a);
}
else
(
printf(〃要删除的选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f〃,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scorefl],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
for(j=i+1;j<=count;j++)
(
Stu[j-1]=stu[j];
)
count一;
)
)
voidfun50〃修改歌手信息
第5页
050308程序设计基础第四单元形成性考核作业
inti,j;
floatmax2,min2;
charm[20];
printf(〃请输入要修改选手的名字:〃);
scanf_s(〃%s〃,m);
getchar();
for(i=0;i<count;i++)
(
if(strcmp(stu[i].name,m)!=0)
(
continue;
printf(〃没有找到学号为%s的选手信息\n〃,m);
)
else
(
printf(〃当前选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f最
低分:%f总分:%f平均值:%f\n〃,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scored],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
printf(〃请输入要修改的编号:〃);
scanf_s(〃%d〃,&stu[i].banji);
getchar();
printf(〃请输入要修改的姓名:〃);
gets_s(stu[i].name);
for(j=0;j<size;j++)
{
printf(〃请输入%d评委打分:〃,j+1);
scanf_s(级d〃,&stu[i].score[j]);
getchar();
〃最高分,最低分,总分
for(i=0;i<count;i++)
(
max2=stu[i].score[0];
for(j=0;j<size;j++)
(
if(max2<stu[i].score[j])
max2=stu[i].score[j];
)
stu[i].max=max2;
)
for(i=0;i<count;i++)
第6页
050308程序设计基础第四单元形成性考核作业
min2=stu[i].score[0];
for(j=0;j<size;j++)
(
if(min2>stu[i].score[j])
min2=stu[i].score[j];
)
stu[i].min=min2;
)
for(i=0;i<count;i++)
(
stu[i].sum=stu[i].score[0];
for(j=1;j<size;j++)
(
stu[i].sum=stu[i].sum+stu[i].scorefj];
)
stu[i].average=(stu[i].sum-stu[i].max-stu[i].min)/3;
)
}
voidfun6()〃显示选手信息
(
inti;
getchar();
for(i=0;i<count;i++)
(
printf(〃\n%d选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f最低
分;%f总分:%f平均值:%f〃,i+1,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].score[l],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
)
voidfun7()〃按平均分排序
(
inti,j;
structstudenttemp;
for(i=0;i<count;i++)
(
for(j=i+1;j<count;j++)
(
if(stu[i].average>stu[j].average)
(
temp=stu[i];
stu[i]=stu[j];
第7页
050308程序设计基础第四单元形成性考核作业
stu[j]=temp;
getchar();
for(i=0;i<count;i++)
(
printf(〃\n%d平均分按小到大排序为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f〃,i+1,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scorefl],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
)
voidSetColor(unsignedshortForeColor,unsignedshortBackGroundColor)
(
HANDLEhCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundCo1or%16*16));
)
voidmain()
intn,i;
for(i=1;i<=50;i++)
SetColor(0,14);
printf(〃〃);
printf2*i);
Sleep(101-2*i);
printf(〃\b\b\b〃);
SetColor(15,0);
printf(〃\b\n加载完成!即将进入:〃);
Sleep(2000);
system(〃cls〃);
do
system(〃cls〃);
printf(〃\n\t\t\t******歌手评分系统******\n");
printf(/z\n\t\t\tl:录入选手信息\n〃);
printf(z/\n\t\t\t2:按姓名查找\n〃);
printf(z,\n\t\t\t3:插入歌手信息\n〃);
printf(z/\n\t\t\t4:删除歌手信息\n〃);
printf(〃\n\t\t\t5:修改歌手信息\n〃);
printf(z,\n\t\t\t6:显示歌手信息\n〃);
第8页
050308程序设计基础第四单元形成性考核作业
printfC\n\t\t\t7:按平均分排序\n〃);
printf(z/\n\t\t\t0:退出\n〃);
printf('\n\t\t\t请选择(0-7):\n〃);
scanf_s(〃%d〃,&n);
switch(n)
case1:funl();break;
case2:fun2();break;
case3:fun3();break;
case4:fun4();break;
case5:fun5();break;
case6:fun6();break;
case7:fun7();break;
1
J
}while(n!=0);
国C:\Users\yurongguo\Deslctop\Prqject3\Debug\Prqject3.exe一□X
******歌手评分系统******
1:录入选手信息
2:按姓名查找
3:插入歌手信息
4:删除歌手信息
5:修改歌手信息
6:显小歌手信息
7:按平均分排序
0:退出
请选择(0-7):
□
><
退
1
数
清
入
加
手
1W人
选
入
1手
清
锦
入
壬
痕
富
入
龙6
评:
委
入1
富8
评
入2
委9
清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天津联通派遣制智家工程师、营业员招聘5人备考题库及答案详解【网校专用】
- 2026四川广元市妇幼保健院招聘部分岗位工作人员的8人备考题库及参考答案详解(典型题)
- 2026济南能源集团春季校园招聘11人备考题库及参考答案详解(a卷)
- 2026江苏扬州大学招聘教学科研和医务人员214人备考题库(第一批)含答案详解(典型题)
- 2026河北石家庄城市建设发展集团招聘10人备考题库及答案详解【易错题】
- 2026甘肃金昌永昌县红山窑镇卫生院招聘1人备考题库及答案详解【新】
- 2026上半年四川中医药高等专科学校招才引智招聘5人备考题库(上海场)及答案详解【名校卷】
- 2026四川资阳益福康养产业有限公司招聘2人备考题库及答案详解参考
- 2026江西赣西科技职业学院人才招聘备考题库及参考答案详解(完整版)
- 2026年甘肃省兰州大学党委教师工作部聘用制B岗招聘备考题库附参考答案详解(黄金题型)
- 2025年故宫文化考试题及答案
- 走进俄罗斯课件
- 小针刀课件教学课件
- 四川省医疗服务价格项目汇编(2022版)
- 商务礼仪之服装搭配
- 电梯机房钻孔协议书范本
- 腰椎疑难病例讨论
- 少儿航空科普教育
- 法院司法礼仪培训课件
- T/CEPPEA 5028-2023陆上风力发电机组预应力预制混凝土塔筒施工与质量验收规范
- 语音主播签约合同协议
评论
0/150
提交评论