这道题我们可以用二维数组来做,一行代表课程代码,一行代表对应的分数,代码如下:
#include<bits/stdc++.h>//万能头文件
using namespace std;//好习惯
int a[3][5050];//定一个二维数组
int main()
{
int n,m;//定一个n与一个m
int sum1=0,sum2=0;
cin >> n >> m;//输入
for(int i=1; i<=5000; i++)//首先我们把所有的分数设为-1(用于后面判断是否旷考)
{
a[2][i]=-1;//设为-1
}
for(int i=1; i<=n; i++)
{
cin >> a[1][i];//首先我们输入总共有的课程代码
}
int x,y;
for(int i=1; i<=m; i++)
{
cin >> x >> y;//输入课程代码和分数
for(int j=1; j<=n; j++)
{
if(a[1][j]==x)
a[2][j]=y; //将第一个设为课程代码,将第二个设为分数
}
}
for(int i=1;i<=n; i++)
{
if(a[2][i]<60) sum1++;//如果分数小于60,那么不及格数增加一
if(a[2][i]==-1) sum2++;//如果旷考,那么旷考加一
}
cout << sum2 << endl << sum1;//输出
return 0;//好习惯
}