解题思路:用结构体数组存储每个人的信息,并算出平均值的一半,然后遍历数组找到最接近的那个人
#include<bits/stdc++.h>
using namespace std;
typedef struct stu{
string name;
int num;
}stu;
int main(){
int n,max=101,sum=0,index=-1;
cin>>n;
string s;
stu st[n];
for(int i=0;i<n;i++){
cin>>st[i].name>>st[i].num;
sum+=st[i].num;
}
sum=(sum*1.0/n)/2;
for(int i=0;i<n;i++){
if(abs(st[i].num-sum)<max){
max=abs(st[i].num-sum);
index=i;
}
}
cout<<sum<<" "<<st[index].name;
}
运行结果: