整数加减法练习

 

 程序自动产生随机数(srand 设置种子为系统时间,以保证每次运行程序产生的随机数有差别 ),然后用户输入结果,程序判断用户输入是否正确

 减法运算时要保证随机产生的a要大于b(用while循环判断,当然前提条件是用户选择的为减法运算,这里只保证式子产生的结果为非负整数)。

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

int main()
{
  int a,b,c,sign,max;
  char sign1;
  printf("please select sign(1 or other,1:-,oteher:+):\n");
  scanf("%d",&sign);
  printf("please select the max number(<10000):\n");
  scanf("%d",&max);
  srand((unsigned long)time((time_t *)NULL));
  a=rand()%max;
  b=rand()%max;
  while((a<b)&&(sign==1))
      {
     a=rand()%max;
     b=rand()%max;

    }
   sign1=(sign==1?'-':'+');
   printf("\n%d%c%d=",a,sign1,b);
   scanf("%d",&c);
   if((sign==1)&&(a-b==c)||(sign!=1)&&(a+b==c))
       {
      printf("OK!\n");
    }
   else
         printf("The result is wrong!\n");
   

}

程序运行结果如下:

 

最后附上本程序涉及到的函数原型 

 

 

srand(设置随机数种子)
相关函数
rand,random srandom
表头文件
#include<stdlib.h>
定义函数
void srand (unsigned int seed);
函数说明
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

 

 

rand(产生随机数)
相关函数
srand,random,srandom
表头文件
#include<stdlib.h>
定义函数
int rand(void)
函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。
返回值
返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。

 

相关函数
ctime,ftime,gettimeofday
表头文件
#include<time.h>
定义函数
time_t time(time_t *t);
函数说明
此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。
返回值
成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。
   
posted @ 2014-05-01 19:02  尾巴草  阅读(508)  评论(0编辑  收藏  举报