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;
}
}