您的位置:首页 > 编程语言

考试系统之选择题评分

2013-08-27 17:16 204 查看

考试系统之选择题评分

Time Limit: 1 Sec  Memory Limit:
64 MB
Submit: 505  Solved: 311

[Submit][STATUS][Web Board]

Description

在很多的考试中都利用计算机判题,特别是选择题的判题非常适合计算机去完成,代替了人工繁重的重复性体力劳动,减少出错的机会,提高判卷效率等。自动化考试系统的应用越来越多,例如高考的标准化试卷考试,四六级英语考试,托福考试,计算机等级考试等。现在要求你编写程序对某次考试中的单项选择题进行评分。

Input

第一行包含2个整数n,k,分别表示本次考试中试选择题的个数和每个选择题的分值。第二行包含一个长度为n的字符串,表示标准答案。第三行包含一个整数s,表示试卷的份数。其下的s行,每行代表一个应试者的答卷中选择题的作答。"X"表示应试者没有回答此题。

Output

按照顺序,每行输出一份试卷的选题题得分。

Sample Input

10 2
ABCDABCDAB
4
ABCDABCDAB
BBCDDBCDAB
AACDDBCDAA
ABCDAXCDAB


Sample Output

20
16
14
18

 

这个题目就用数组存储答案和提交的各个答案,再用一个if语句判断,最后求出各个的得分情况。

代码如下:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    int Ti,rank;
    int kao;
    int i,j,count[500];
    char Biao[500];
    char Juan[500][500];
    memset (count,0,sizeof(count));
    scanf ("%d%d\n",&Ti,&rank);
   // printf ("%d  %d\n",Ti,kao);
    for (i=0;i<Ti;i++)
    {
        scanf ("%c",&Biao[i]);     //输出无误;
       // printf ("%c",Biao[i]);  //存储并输出标准答案;
    }
    scanf ("%d\n",&kao);
    for (i=0;i<kao;i++)
    {
            scanf ("%s",&Juan[i]);
            //printf("%s\n",Juan[i]);
    }
    /*for (i=0;i<kao;i++)
    {
        for (j=0;j<Ti;j++)
        {
            printf ("%c",Juan[i][j]);
        }
        printf ("\n");
    }*/
    for (i=0;i<kao;i++)
    {
        for (j=0;j<Ti;j++)
        {
            if (Juan[i][j]==Biao[j])
            count[i]++;
        }
        printf ("%d\n",count[i]*rank);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  农大oj C 编程笔记