URL 已经复制到剪切板

查看 gist

查看一个gist的详细信息

简介

名称

xm_zhang.cpp

创建者

doujiang_zheng2

创建时间

2017-12-15 15:16

最后修改

2017-12-15 15:16

代码
/*输入五个选手的编号姓名和五个分数,去掉最高和最低取平均分再从高到低输出*/ using namespace std; #include <iostream> struct player{ int number; char name[20]; int score[5]; int final; }; void input(player a[], int n) { int i,j; for(i=0;i<n;i++) { cin>>a[i].number>>a[i].name; for(j=0;j<5;j++) cin>>a[i].score[j]; } } void compute(player a[], int n) { int k,i,j,temp; for(k=0;k<n;k++) { for(i=0;i<5;i++) { for(j=i+1;j<5;j++) { if(a[k].score[i]>a[k].score[j]) { temp=a[k].score[i]; a[k].score[i]=a[k].score[j]; a[k].score[j]=temp; } } } a[k].final=(a[k].score[1]+a[k].score[2]+a[k].score[j]+a[k].score[3])/3; } } void sort(player a[], int n) { int i,j; player temp; for(i=0;i<5;i++) { for(j=i+1;j<5;j++) { if(a[i].final<a[j].final) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } } void print(player a[], int n) { int i; for(i=0;i<n;i++) cout<<a[i].number<<" "<<a[i].name<<" "<<a[i].final<<endl; } int main() { int n=5; player a[n]; input(a,n); compute(a,n); print(a,n); } /*第一个选手的最后得分总是一个莫名其妙的数字10970+。。。找不到哪里越界了,最后的选手排序也没有排成功,还是初始顺序*/
分享