1061 判断题(15分)

一.题目描述

二.题目分析

利用循环进行比较即可

三.代码解答

#include<iostream>
#include<vector>
using namespace std;

int main() {
	int n;			//学生人数
	int m;			//题目数量
	cin >> n >> m;

	vector<int> point(m);		//题目分值
	vector<int> answer(m);		//正确答案
	for (int i = 0; i < m; i++) {	//输入分值
		cin >> point[i];
	}
	for (int i = 0; i < m; i++) {	//输入正确答案
		cin >> answer[i];
	}


	vector<vector<int>> student;
	vector<int> vec;
	int temp ;
	for (int i = 0; i < n; i++) {		//二维数组(学生分数的输入)
		vec.clear();
		for (int j = 0; j < m; j++) {
			cin >> temp;
			vec.push_back(temp);
		}
		student.push_back(vec);		
	}

	vector<int> res(n);
	
	for (int i = 0; i < n; i++) {
		int grade = 0;
		for (int j = 0; j < m; j++) {
			if (student[i][j] == answer[j]) {			//如果答案相同
				grade = grade + point[j];				//分数累加
			}
			else continue;
		}
		cout << grade << endl;
	}
	return 0;
}
发布了54 篇原创文章 · 获赞 14 · 访问量 3600

猜你喜欢

转载自blog.csdn.net/q2511130633/article/details/104566611