C#在线考试选择题判断方法
来源:互联网 发布:初一地理行知天下答案 编辑:程序博客网 时间:2024/05/21 00:46
在线考试系统中,我们常常会对客观题(如 单选题、多选题)进行正误判断,而主观题(如 简答题、分析题)可以采用 关键词匹配 与 人工评卷 相结合。以下是【选择题】的一种判断方法:
/// <summary>/// 选择题结果判断/// </summary>/// <example>/// GetChoiceAnswerMarkReust("ABCD","ABCD") 结果:√/// GetChoiceAnswerMarkReust("ABCD","ABC") 结果:√×/// GetChoiceAnswerMarkReust("ABCD","BCDE") 结果:×/// </example>/// <param name="RightAnswer">正确答案</param>/// <param name="UserAnswer">用户答案</param>/// <returns></returns>public string GetChoiceAnswerMarkReust(string RightAnswer, string UserAnswer){ string result = "?"; if (!string.IsNullOrWhiteSpace(RightAnswer) && !string.IsNullOrWhiteSpace(UserAnswer)) { char[] arrRight = UserAnswer.ToCharArray(); char[] arrUser = RightAnswer.ToCharArray(); if (arrRight.OrderBy(r => r).SequenceEqual(arrUser.OrderBy(i => i))) { result = "√";//元素相同:全对 } else if (arrUser.Count() > 0 && arrUser.Except(arrRight).Count() == 0) { result = "√×";//元素包含:半对 } else { result = "×";//元素差别:错误 } } return result;}
阅读全文