用C语言编写一个“简单”的程序答题系统

上个星期我们老师给我们布置一道他认为很简单的题,其实就想考考我们,要我们写一个简单的答题系统。开始一看只有一道题我直呼:"仰天大笑出门去,我辈岂是蓬蒿人"

以为老师放我一马,结果点开一看,好家伙!

 用C语言编写一个“简单”的程序答题系统_第1张图片

 用C语言编写一个“简单”的程序答题系统_第2张图片

 我直接看蒙了!泪水直流!

对于刚接触到的新手小白,还是有点差强人意。但经过几天的奋斗,还是搞出点名堂。

我抽到的是第二题。

困难1

如何保证20道题随机出现,并且不重复。

我查些资料

一、rand 函数 和 srand 函数
在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同,rand 函数包含在头文件stdlib.h中。

#include
#include
int main()
{
    int a=rand();
    printf("%d",a);
    return 0;
}
1
2
3
4
5
6
7
运行结果…………………………………………

你会发现每次产生的随机数都是相同的,因为rand 函数产生的随机数是伪随机数,是根据一个数按照某个公式推算出来的,这个数我们称之为“种子”,但是这个种子在系统启动之后就是一个定值。

要想每次产生的随机数不一样,那么,我们就要用到 srand 函数。
————————————————
版权声明:本文为CSDN博主「星空之路Star」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46022083/article/details/106661495

困难2

如何保证随机数与题目进行联系

我最开始想的是是使用“循环“”,

int a[20]={0};
        for(int i=1;i<=20;i++)
        {
            a[i]=1+rand()%20;
            for(int m=1;m             {
                if(a[m]==a[i])
                {
                    i--;
                }
            }

这就是我写的,循环。 

当然,我遇到的问题,远不止这些。我所写的系统。并没有成功,甚至一直显示编译错误,但最终,有些问题,还不曾悟透!

我所发表的,还只是有些感悟。当然,我要走的路还很漫长。

希望看到,我的拙作的读者,可以提些建议,不胜感激!

你可能感兴趣的:(c语言,开发语言)