博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
猜数游戏、随机数、time函数与循环
阅读量:5133 次
发布时间:2019-06-13

本文共 2039 字,大约阅读时间需要 6 分钟。

猜数游戏、随机数、time函数与循环

标签(空格分隔): C 双学位高级语言程序设计 C循环结构


猜数游戏,就是系统生成一个随机数,用户从键盘输入数据,系统将这个输入数据与之前的随机数作比较,提示大了或者小了,然后用户重新输入,直到猜到随机数的真正大小。

C语言的随机数命令是stdlib.h里面定义的,所以要声明。其命令是rand()。但是注意,rand生成的是伪随机数,也就是说,每次都生成同样顺序的随机数,rand函数其实每次生成同一张随机数表。为了获得真正的随机数,我们需要设置随机数种子,方法如下。

#include 
#include
int main(){ int i; unsigned int seed; scanf("%u",&seed); srand(seed); for (i = 0;i<10;i++) //将随机数按列打印出来 { printf("%d\n",rand()); } return 0;}

课件里面讲述时,说随机数种子seed必须为无符号整型数。

但是这样不是很方便,每次都得设置种子,更好的方法是改用系统时间作为随机数种子。方法如下。

#include 
#include
#include
int main(){ int i; srand(timr(NULL)); for (i = 0;i<10;i++) //将随机数按列打印出来 { printf("%d\n",rand()); } return 0;

程序中,用了time函数,其存放在time.h模块内,所以须声明。time函数运用方法很多,此处用Null作为函数参数,可以使其从函数返回值取得系统时间,也就是说,这样的话,time(NULL)只是个常数了。

**注意:在%前加空格符,意为忽略所有空白字符

如scanf(” %d”,&a);如果输入中有空格、tab、回车,则这样处理可以让输入值忽略这些字符的影响。**

#include 
#include
#include
int main(){ int a,b,i=0,r=0,w=0,ac=0; float c,rr=0; char d; srand(time(NULL)); do { a = rand()%10+1; b = rand()%10+1; //生成随机数 d = rand()%100+1; if (d>=1&&d<=25) //加法 d=43,c=a+b; else if (d>=26&&d<=50) //减法 d=45,c=a-b; else if (d>=51&&d<=75) //乘法 d=42,c=a*b; else if (d>=76&&d<=100) //除法 d=47,c=1.0*a/b; printf("%d%c%d=?\n",a,d,b); scanf("%f",&e); //输入答案 if (e==c) //判断答案是否正确 { printf("Right!\n"); r++; } else //结果错误 { printf("Wrong!\n"); w++; } if (i==9) //判断是否已运算10次,如果是,便停止输入,跳出循环 { ac=r*10; rr=r*10; printf("account=%d right rate=%.0f%%",ac,rr); break; } i++; }while(i<=9); //如果答案错误,将返回循环开头,重新开始计算 return 0;}

转载于:https://www.cnblogs.com/yichuan-sun/p/9624220.html

你可能感兴趣的文章
利用Servlet做一套增删改查
查看>>
linux shell 之 crontab(定时任务)详解
查看>>
linux 远程管理
查看>>
儿童节礼物
查看>>
POJ 1006 同余方程组
查看>>
javascript时间差工具包
查看>>
TCP/IP 基础简介
查看>>
页面中部分标签简单描述
查看>>
GIT 远程仓库
查看>>
[工具]Visual Studio
查看>>
【亲测可行】Dev c++调试、运行报错解决方法总结
查看>>
MySQL Innodb引擎和MyIASM引擎的区别
查看>>
installshield basic msi 更新时覆盖不了上一个版本文件解决方案1
查看>>
15/7/2017 暑期第一次集训小总结
查看>>
分部类和方法的学习以及在LINQ中的应用(原创)
查看>>
“Missing artifact....."的解决办法
查看>>
杨森翔绝句10首
查看>>
线段树(Segment Tree)
查看>>
RESTful API 设计思考
查看>>
docker-compose.yml模板文件
查看>>