当我们简单的学习C语言后,做一个简单的答题系统可能仍然有点小问题,
首先,一个答题系统需要什么?是题目。这一步对于刚学习C语言的同学来说都很容易。一个简单的printf就可以将题目输出,再加一个scanf就能作答。
第二,判断作答人的答案是否正确,这一步同样简单两个if语句就够了。
if (b[j][0] == 84 || b[j][0]== 116)
{
printf("答案正确\n");
}
else if (b[j][0] == 70 || b[j][0]== 102)
printf("答案错误,正确为T\n");
}
第三呢?是不是怕同学不聪明,调皮乱输入答案,这时我们要提醒他输入他应该输入什么,是不是?还要让他继续输入答案,这里我们可以用个do ,,while语句
do{
if(b[j][0]!='T'&&b[j][0]!='F')
{printf("请输入T或F\n");
scanf("%s",&b[j]);
}
}while(b[j][0]!='T'&&b[j][0]!='F');
好!这样我们基本的答题完成了,这时我们是不是会想到有些同学会不会抄其他同学的呢?
这时我就想能不能将题目顺序打乱。
这个问题困扰我许久,这里我就用了一个rand函数详细见这个网址https://blog.csdn.net/weixin_46022083/article/details/106661495通过这个网址我学习到将一个数组在一个范围内随机赋值不重复
srand((unsigned)time(NULL));
int a[20],i,j;
for(i=0;i<3;i++)
{
a[i]=rand()%3+1;
for(j=0;j<i;j++)
if(a[i]==a[j]){i--;break;}
}
再利用一个循环,从1到n个数一一对一个题目,然后a[]随机在一个范围内,从而达到随机的目的。
结言:这只是个初学C语言的做题简单心路,仅供参考。