0
已解决
马烨烨
初级守护
初级守护
1131 判断题正确率
题目描述 Description
在无纸化改卷中,对于判断题,用1表示正确,0表示错误。已知某次考试有m门课,每门课有n道判断题,每道题目的参考答案已经给出,由输入决定。现有一位同学小明,给出他每门课的选择题答案,对比参考答案求出该同学判断题的正确率,以百分比的形式输出,结果保留2位小数。
输入描述 Input Description
输入为2*m+1行:
第一行为2个整数,表示考试的门数m以及每门课的判断题题数n(m≤10;n≤50);
之后的m行为每门课判断题的标准答案,每一行表示一门科目,每一题的答案之间用一个空格隔开;
最后的m行为小明每门课选择题的答案,每一行表示与参考答案科目对应的科目,每一题的答案之间用一个空格隔开。
输出描述 Output Description
输出为一行,包含一个实数,为小明同学选择题的正确率,以百分比形式输出,结果保留2位小数。
样例输入 Sample Input
4 5 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 1
样例输出 Sample Output
75.00%
这道题我哪里错了????
运行的结果是:150.00%
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
bool a[15][55],b[15][55];
int m,n,cnt=0,sum=0;
cin>>m>>n;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>b[i][j];
if(a[i][j]==b[i][j])
{
sum+=b[i][j];
cnt++;
}
}
}
printf("%.2f%%",cnt/(sum*1.0)*100);
return 0;
}
0
已采纳
张天璨
新手天翼
新手天翼
你的代码我看不懂!
双手献上我的Accepted代码:
#include<iostream>
#include<iomanip>
using namespace std;
bool a[20][60],b[20][60];
int main()
{
int m,n;
double cnt=0;
cin>>m>>n;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>b[i][j];
if(a[i][j]==b[i][j])
{
cnt++;
}
}
}
cout<<fixed<<setprecision(2)<<cnt/(m*n)*100;
cout<<"%";
return 0;
}
望巨佬采纳!
0
0
0