随机数(rand,srand,time)

函数使用思路

srand函数是生成一个种子,当种子不同时,rand函数生成的随机数不同,所以生成随机数要让种子不同,使用time函数可以使得种子不同
  
  
  

srand函数

void srand(unsigned int seed)
参数:
   seed:生成一个伪随机数的种子
  
  
  

rand函数

int rand(void);
返回值:
    返回0到RAND_MAX(32767)的一个伪随机数
  
  
  

time函数

函数功能: 得到当前日历时间或者设置日历时间
函数原型: time_t time(time_t *timer)
参数说明: timer=NULL时得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),timer=时间数值时,用于设置日历时间,time_t是一个unsigned long类型。如果 timer不为空,则返回值也存储在变量 timer中。
函数返回: 当前日历时间

  
  
  

函数实现过程

随机数(rand,srand,time)
随机数(rand,srand,time)
  
  
  

随机数答题游戏

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int a,b,i,r,op;
    float flag,x;
do{
        r=0;
    for(i=0;i<10;i++)
    {
        srand(time(NULL));
        a=rand()%10+1;
        b=rand()%10+1;
        op=rand()%4+1;

        switch (op) {
    case 1:
        printf("%d+%d=?\n",a,b);
        flag=a+b;
        break;
    case 2:
        printf("%d-%d=?\n",a,b);
        flag=a-b;
        break;
    case 3:
        printf("%d*%d=?\n",a,b);
        flag=a*b;
        break;
    case 4:
        printf("%d/%d=?\n",a,b);
        flag=a/b;
        break;
                    }
        scanf("%f",&x);
        if(x==flag)
        {
            printf("right!\n");
            r++;

        }
        else
        printf("wrong\n");

    }
    printf("总分为%d\n",r*10);
    printf("正确率为%d%%\n",r*10);
    }while(r<8);
   return 0;
}
上一篇:【SQLi-Labs】Less-5 GET - Double Injection - Single Quotes - String


下一篇:C++中rand()函数的用法