测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22608. 评奖

填空题 较易

题目描述

评奖

题目描述

期末考试结束了,学校要根据语文、数学、英语的三科成绩评出特优生和优秀学生。评选规则如下:

1. 三科均为满分100分的同学评为特优生;

2. 三科中有两科均为95分及以上,另一科为90分及以上的同学评为优秀学生;

3. 已经被评为特优生的同学不再参与优秀学生的评选。

已知学生的数量 n (学生编号为1到 n )以及 n 个学生的语文、数学、英语成绩,请你根据评选规则计算有多少个特优生和优秀学生。

输入格式

第一行一个整数 n ,表示学生的个数。

第二行 n 个整数,用空格隔开,第 i 个整数 ai 表示 i 号学生的语文成绩。

第三行 n 个整数,用空格隔开,第 i 个整数 bi 表示 i 号学生的数学成绩。

第四行 n 个整数,用空格隔开,第 i 个整数 ci 表示 i 号学生的英语成绩。

输出格式

输出一行两个整数,中间用一个空格隔开,依次表示评出的特优生和优秀学生的数量。

输入样例1

5
90 95 89 100 91
96 99 95 100 92
97 98 95 100 93

样例输出1

1 2

输入样例2

10
93 95 80 96 91 97 95 88 80 90
96 90 90 100 97 90 95 89 99 90
99 98 100 100 99 92 95 86 90 90

样例输出1

0 5

参考答案

#include<bits/stdc++.h> using namespace std; const int N=1e5+10; // 定义最大学生数量为100010 int n,a[N],b[N],c[N],cnt1=0,cnt2=0; // n: 学生数量 // a[]: 语文成绩数组,b[]: 数学成绩数组,c[]: 英语成绩数组 // cnt1: 特优学生计数,cnt2: 优秀学生计数 int main(){ cin>>n; // 输入学生数量 // 输入三个科目的成绩 for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; for(int i=1;i<=n;i++) cin>>c[i]; // 遍历每个学生进行评级 for(int i=1;i<=n;i++){ // 规则1: 判断是否为特优学生(三科均为100分) if(a[i]==100 && b[i]==100 && c[i]==100){ cnt1++; } // 规则2: 判断是否为优秀学生(三种组合情况) // 情况1: 语文和数学>=95,英语>=90 else if(a[i]>=95 && b[i]>=95 && c[i]>=90){ cnt2++; } // 情况2: 语文和英语>=95,数学>=90 else if(a[i]>=95 && c[i]>=95 && b[i]>=90){ cnt2++; } // 情况3: 数学和英语>=95,语文>=90 else if(b[i]>=95 && c[i]>=95 && a[i]>=90){ cnt2++; } } // 输出特优学生和优秀学生数量 cout<<cnt1<<" "<<cnt2; return 0; }
上一题 下一题