Description
兴趣小组收集学员成绩信息,每个学员的成绩有两种表示方法,一种用best、good、poor三种等级来表示,还有一种就是直接用分数来表示(百分制)。请保持学员成绩信息,并且统计有多少人是用等级来表示成绩的,用分数来表示成绩的人的平均分是多少(取整)
Input
第1行输入1个正整数n表示学员人数(n<=1000)
第2~n+1行,每行一个字符和一个字符串,中间用一个空格隔开。第一个字符串表示这个学生成绩类型,有C、N两种,分别代表等级表示和分数表示,第二个字符串表示成绩信息
Output
一行两个整数,分别表示用等级表示成绩的人数和用分数表示成绩的人的平均分(取整),中间用一个空格隔开
Sample Input
5
C best
C good
N 90
C poor
N 98
Sample Output
3 94
Hint
构建结构体。输入的后一部分一种是字符串,一种是数字,在结构体里面定义一个字符型,一个整形就可以了。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
struct student
{
char c;
char a[4];
int b;
};
int main()
{
int n,c1,ave,sum;
while(cin>>n)
{
getchar();
sum=c1=0;
struct student stu[n];
for(int i=0;i<n;i++)
{
cin>>stu[i].c;
if(stu[i].c=='C') scanf("%[^\n]",stu[i].a);
else cin>>stu[i].b;
}
for(int i=0;i<n;i++)
{
if(stu[i].c=='C') c1++;
else sum+=stu[i].b;
}
ave=sum/(n-c1);
cout<<c1<<" "<<ave<<endl;
}
return 0;
}