主题:一道文件的程序题目 请大虾帮帮忙!!
meizi177
[专家分:70] 发布于 2006-03-30 07:19:00
题目如下:
标准答案为顺序文件 key.txt(25题)前20题是单选题每题一分,后5 题是多选题每题2 分(答案不分顺序,如ABC,和BCA都是正确的)考生答案为answer.txt(依次存放10考生答案)编写程序要求输出每考生的成绩.
回复列表 (共12个回复)
沙发
moz [专家分:37620] 发布于 2006-03-30 11:19:00
题与题以什么分隔?换行?
板凳
meizi177 [专家分:70] 发布于 2006-03-30 13:57:00
没要求
我只是不知道 多选题如何判断!
ABC 和BCA一样 该如何判断
3 楼
maxumi [专家分:2200] 发布于 2006-04-07 16:45:00
function cc$(st as string)
for i=1 to len(st)
for j=1 to len(st)
if asc(mid$(st,i,1))>asc(mid$(st,j,1)) then swap mid$(st,i,1),mid$(st,j,1)
next j
next i
cc$=st
end sub
4 楼
moz [专家分:37620] 发布于 2006-04-07 16:55:00
swap mid$(st,i,1),mid$(st,j,1)
这是谁发明的?
5 楼
meizi177 [专家分:70] 发布于 2006-04-08 09:10:00
我是用一个数组把答案分开了 然后排序比较,但是麻烦.还有就是先比较两个字符串的长度,若相等就从标准答案中取子串(一次取一个)和学生答案比较,
6 楼
moz [专家分:37620] 发布于 2006-04-08 10:10:00
那也得看实际要求,
少选计不计分?
多选计不计分?
不选扣不扣分?
学生写了 AAB 怎么办?
学生选了 A a C 怎么办?
学生把 XYZ 都写上来了怎么办?
一般情况下,我认为是先排序是比较严谨的办法。
7 楼
meizi177 [专家分:70] 发布于 2006-04-09 19:56:00
我是先从标准答案中取的,然后和学生答案比较, 至于大小写用函数转换以下就可以了! 比如标准答案是"ABC" 学生写的是"aAB" 那么在标准答案中取得"C"是在学生答案中就找不到相应的子串! 另外多选少选都不记分!!
8 楼
moz [专家分:37620] 发布于 2006-04-10 00:01:00
如果多选少选不计分的话
1. 去除空格
2. 检查长度(不符?马上判错,哪怕是多出一个H的选择也不行)
3. 全变大写
4. 将标准答案的每一个字符都拿来到学生答案里面去寻找,全都能找到,判对。
有一不对,exit for
9 楼
meizi177 [专家分:70] 发布于 2006-04-10 07:39:00
对!就是这样的,所见略同! 比排序简单了! 不是吗?
10 楼
moz [专家分:37620] 发布于 2006-04-10 10:51:00
简单?
不见得.
排序的效率高多了.
我来回复