C++ 程序来检查有多少学生的分数高于第一个
假设我们有n个学生在五个科目上得分。第一个分数是给Kamal的,其他学生还有n-1个分数,每个学生有五个科目。我们必须计算得分超过Kamal的学生人数。在这里,我们将定义一个名为student的类来为每个学生加载分数。该类有一个Input()函数来接收输入和calculateTotalScore()函数来根据给定的五个分数计算学生的分数。
所以,如果输入像n=4分数=[[25,45,32,42,30],[22,25,41,18,21],[37,42,48,45,25],[36,48,35,40,30]],则输出为2,因为最后两个学生的分数高于Kamal。
示例
让我们看看以下实现以获得更好的理解-
#include#include using namespace std; class Student{ public: int score[5]; void input(vector v){ for(int i = 0; i < 5; i++) score[i] = v[i]; } int calculateTotalScore(){ int res = 0; for(int i = 0; i < 5; i++) res += score[i]; return res; } }; int main(){ int n = 4; vector > scores = {{25,45,32,42,30},{22,25,41,18,21},{37,42,48,45,25},{36,48,35,40,30}}; Student *s = new Student[n]; for(int i = 0; i < n; i++){ s[i].input(scores[i]); } int kamal_sc = s[0].calculateTotalScore(); int count = 0; for(int i = 1; i < n; i++){ int total = s[i].calculateTotalScore(); if(total > kamal_sc){ count++; } } cout << count; }
输入
4, {{25,45,32,42,30}, {22,25,41,18,21}, {37,42,48,45,25}, {36,48,35,40,30}}输出结果
2