查看原文
其他

实用小技能 | 用 Word 和 Excel 自制一个题库自判断答题系统!

杨秀璋 CSDN 2020-12-18

作者 | 杨秀璋
责编 | 夕颜
出品 | CSDN博客 

如果你需要做题库,并且喜欢电子答题的方法,这篇文章或许会对你有所帮助。反正李老师班级的平均成绩高出其他班级的14分,这就是它的好处,希望这篇文章对我今后的学生有所帮助吧!
        

注意:这篇文章涉及到Word特殊字符、通配符、Excel设置等常见问题。如果文章存在不足或错误的地方,还请海涵~
        

运行结果如下图所示,正确答案第一列,模拟做题的时候学生将它藏着,然后在E列进行答题,D列是在线判断系统,反复训练从而提升学生的考试分数。哈哈~哎,确实佩服L老师啊。




使用Word调整格式


假设现在存在10道《数据结构》考试题目。


1.栈和队列的共同特点是( A )。A.只允许在端点处插入和删除元素B.都是先进后6C.都是先进先出D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( D ).A. 仅修改头指针             B. 头、尾指针都要修改C. 仅修改尾指针 D.头、尾指针可能都要修改
3.以下数据结构中哪一个是非线性结构?( D )A. 队列       B. 栈        C. 线性表      D. 二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。( C )A.688 B.678 C.692 D.696
5.树最适合用来表示( C )。A.有序数据元素 B.无序数据元素C.元素之间具有分支层次关系的数据    D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( D ).A.2k-1 B.2K+1 C.2K-1    D. 2k-1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( D )A. 1,2,3 B. 9,5,2,3C. 9,5,3 D. 9,4,2,3
8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C )A. O(1)   B. O(n)   C. O(1og2n) D. O(n2)
9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( D )个,A.1 B.2 C.3 D.4
10.设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。A.5 B.6 C.7 D.8


        如下图所示:



首先需要将每个题目修改成一行,再复制到Excel中,因为有的题目格式比较差,上图中的题目格式还算正规。所以我们先调整Word格式。


1.首先将换行符(^p)后面添加井号(^p#)


运行结果如下图所示:


Word特殊符号参考文章:https://blog.csdn.net/chenlu5201314/article/details/51718803

2.将换行(^p#)替换成井号(#)


运行结果如下图所示,其中(^#)表示任意数字。


3.将 #任意数字(#^#)转换为换行(^p^&)


运行结果如下图所示,这样才能让每个题目占据一行。


4.删除#


5.在选项前面添加井号,如 A. 变成 #A.,使用通配符(^$.),表示任意字母+"."前面加#,并且勾选 "使用通配符"。
     

注意:上面使用的是下面的补充内容知识。
\1查找内容:(^?国)替换为:\1人原字符:"中国"、"英国"、"美国"、"德国"、"法国"目标字符:"中国人"、"英国人"、"美国人"、"德国人"、"法国人"
^&查找内容:^?国替换为:^&人原字符:"中国"、"英国"、"美国"、"德国"、"法国"目标字符:"中国人"、"英国人"、"美国人"、"德国人"、"法国人"

运行结果如下图所示,然后可以复制到Excel中了,每个题目占一行。注意:井号(#)是为了在Excel中进行换行,否则在Word中换行复制过去,可能题目在第一行,答案在第二行。

Excel调整格式设置答案


然后需要复制到Excel中,如下图所示:


然后是通过Excel制作答案,讲内容复制到C列中,其中 * 表示通配符。



然后删除空格、(、),如下图所示:


然后把答案复制到A第一列中,如下图所示。


注意:某些行数据可能出现错误,如上图第8行结果为n2,但不影响整体。

接下来需要删除括号中的答案,例如:"(  A  )"删除为"(     )"。再次复制到Word中。


此时结果如下图所示,在复制到Excel进行设置换行功能。


注意:第三部分设置换行功能,我是先写的,才想到要去除括号中正确答案的。所以下面第三部分的截图都存在答案,这里使用上面的即可。

Excel设置换行功能


该功能主要是为了方便学生模拟答题方便,具体操作如下。

先在C列中,设置 "=SUBSTITUTE(B1,"#",CHAR(10))",如下图所示。

SUBSTITUTE(B1,"#",CHAR(10))表示B1中"#"替换成换行(char(10))。


同时设置格式对齐自动换行。


运行结果如下所示:


填充右下角下拉,整列设置成这个格式,如下图所示:


注意:这里执行上面第二部分最后部分去除答案的运行结果如下所示。


Excel设置自判断系统


下面是设置自判断系统,这里在第D列中设置如下所示表达式(=A1=E1)。


然后设置第D列,整列结果如下所示,显示False。这是因为需要在第E列答题,选择A、B、C、D答案。



就这样,整个答题系统就完成了,同学们在答题的时候,只需要把第一列藏着,然后进行答题,实时进行判断;再把False的题目排序下,反复练习,从而提升自己的效率,尤其是题库的上机考试,军事理论、程序设计、Office、计算机二级等。


更多精彩推荐

“Talk is cheap, show me the code”你一行代码有多少漏洞?
☞融资 2000 万美元后,他竟将核心代码全开源,这……能行吗?
打破定制化语音技术落地怪圈?从讲一口标准英音的语音助手说起
赠书 | 人工智能识万物:卷积神经网络的前世今生
MySQL 索引分析除了 EXPLAIN 还有什么方法?
医疗数字化:区块链或成最强辅助
点分享点点赞点在看

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存