Loading... 思路: 首先我们可以创建一个选手类 ->我们给选手赋初值,名字,分数 ->利用随机数仿评委打分 ->最后输出选手名字与最后得分 ```cpp #include<iostream> #include<deque> #include<algorithm> #include<string> #include<vector> #include<ctime> using namespace std; class Person//选手类 { public: Person(string name, int score) { this->m_Name = name; this->m_Score = score; } string m_Name; int m_Score; }; void creat_person(vector<Person>&v) { for (int i = 0; i < 5; i++) { string temp = "ABCDE"; string name = "选手"; name += temp[i]; int score = 0; Person p(name, score); v.push_back(p); } } void text(vector<Person>&v) { for (vector<Person>::iterator it = v.begin(); it != v.end(); it++) { cout << "姓名为:" << it->m_Name << " " << "成绩为:" << it->m_Score; cout << endl; } } void setScore(vector<Person>&v) { for (vector<Person>::iterator it = v.begin(); it != v.end(); it++) { deque<int>pep_scort; for (int i = 0; i < 10; i++) { int scort = rand() % 41 + 60; pep_scort.push_back(scort); } //打分排序 sort(pep_scort.begin(), pep_scort.end()); //去除最高分,最低分 pep_scort.pop_back(); pep_scort.pop_front(); int sum = 0; for (deque<int>::iterator it = pep_scort.begin(); it != pep_scort.end(); it++) { sum += *it; } int avg = sum / pep_scort.size(); it->m_Score = avg; } } int main() { srand((unsigned int)time(NULL)); //1.创建5名选手 vector<Person>Player; creat_person(Player); //测试 //text(Player); //2.给5名选手打分 setScore(Player); //3.输出5名选手成绩 text(Player); return 0; } ``` <div class="tip inlineBlock warning"> 总结: 只有deque才有 pop_back(删除末尾元素) pop_front(删除首项元素) 而vector没有 在以后写程序中尽量把大体框架写出来,防止思路混乱 </div> 最后修改:2021 年 09 月 19 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果文章有用,请随意打赏。