PAT1061 判断题 (15 分)

题目

在这里插入图片描述

代码

简单题,思路比较顺,一次通过。易错点是:多层循环嵌套、比较的时候,i,j不要写混

#include<iostream>
using namespace std;
int main()
{
	int numStu;//学生总数 
	int numQst;//问题总数 
	int val[100];//每题分值
	int ans[100];//每题答案

	//输入
	cin >> numStu;
	cin >> numQst;
	int i;

	//每题分值
	for (i = 0; i < numQst; i++)
	{
		cin >> val[i];
	}

	//每题答案
	for (i = 0; i < numQst; i++)
	{
		cin >> ans[i];
	}

	//学生选项
	int stuAns[100][100];
	int j;

	for (j = 0; j < numStu; j++)//j行 
	{
		for (i = 0; i < numQst; i++)//i列 
		{
			cin >> stuAns[j][i];
		}
	}

	//计算分数
	int stuScore[100] = { 0 };
	for (i = 0; i < numStu; i++)//i号学生 (i行) 
	{
		for (j = 0; j < numQst; j++)//j题 (j列) 
		{
			//printf("\n");
			//printf("stuAns[%d][%d]=%d ",i,j,stuAns[i][j]);
			if (stuAns[i][j] == ans[j])
			{
				stuScore[i] += val[j];
				//	printf("val[%d]=%d ",j,val[j]);
				//	printf("stuScore[%d]=%d",i,stuScore[i]);
			}
		}
	}

	//输出
	for (i = 0; i < numStu; i++)
	{
		cout << stuScore[i] << endl;
	}

}

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/87989353