如果用工具的话,很多问卷工具支持A/B卷,在提前设计好问题好,题的顺序是随机的,这样就可以了.
如果是指的从题库随机抽取题目,那么你首先需要有一个题库,根据题目的丛中银类型,难易度,设置分值,然培世后将题库里的题目用唯一标识进行标记,
用Scratch设计题目的话也可以通过添加背景或者角色来导入题目,然后用随机数挑选,
以下是一个示例,供参考渗宴:
用背景图片显示问题
以下是一个示例,供参考:
程序运行效果
上图是舞台区效果,这是随机到的题目1
程序示意
这样就能实现随机题目了,但是并没有设计验证答案,计分,感兴趣的话可以逐步完善,希望对你有帮助
这个其实很简单给你个完整的,我很少写完整的代码
#include <stdio.h>
main()
{
int i
int a[10],b[10],c[10],d[10],e[10]
for(i=0i<10i++) //生成题目
{
while(1)
{
a[i]=rand()%100+1 //产生ab随机数
b[i]=rand()%100+1
c[i]=rand()%4+1 //产生运算+-*/随即数
switch(c[i])
{
case 1:d[i]=a[i]+b[i]break
case 2:d[i]=a[i]-b[i]break
case 3:d[i]=a[i]*b[i]break
case 4:while(b[i]==0) //在除法中,要是b是0,重新生成,直到不是0为止渗毁
b[i]=rand()%100+1
d[i]=a[i]%b[i]break //这里看余数,一般来说,不能整除,不丛销备可以
}
if((d[i]<100||d[i]>0)II(c[i]==4&&d[i]!=0)) //判断d是否在100之内,还有就是除法不能有余数
break //满足条件,生成下一个,不满足重新来过
}
if(c[i]==4)
d[i]=a[i]/b[i]//这个算出除法的结果
}
for(i=0i<10i++) //出题
{
printf("%d\n%d",i+1,a[i])
if(c[i]==1)
putchar("+")
if(c[i]==2)
putchar("-")
if(c[i]==3)
putchar("X")
if(c[i]==4)
putchar("/")
printf("%d=",b[i])
scanf("%d",e[i])
system("cls")
}
for(i=0i<10i++) /斗肆/最后打印结果
{
printf("%d\n%d",i+1,a[i])
if(c[i]==1)
putchar("+")
if(c[i]==2)
putchar("-")
if(c[i]==3)
putchar("X")
if(c[i]==4)
putchar("/")
printf("%d=%d",b[i],e[i])
if(d[i]==e[i])
printf("yes!!\n")
else
printf("NO!! %d\n",d[i])
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)