![](https://img-blog.csdnimg.cn/img_convert/b194ec32f201b7bd7839afd18ff24e12.png)
问题分析:
本题可利用二维数组存储数据,数组行数等于学生人数+2(一行为该题满分数值,一行为该题答案),利用数组的循环逐一比较每个学生的答案和正确答案即可。
#include<cstdio>
using namespace std;
int main(){
int N,M;//N为学生数,M为题目数
scanf("%d %d",&N,&M);
int a[N+2][M];
for(int i=0;i<N+2;i++){
for(int j=0;j<M;j++){
scanf("%d",&a[i][j]);
}
}
int sum[N]={0};//存储每名学生的得分
for(int i=2;i<N+2;i++){
for(int j=0;j<M;j++){
if(a[i][j]==a[1][j]) sum[i-2]+=a[0][j];
}
}
for(int i=0;i<N;i++){
printf("%d\n",sum[i]);
}
return 0;
}