如有错误,还请大佬指正!!
文章目录
一、猜数字游戏的内容:先由计算机提示随机产生一个在1~100的随机数(正整数),然后由游戏者猜数。猜数过程中,如果有错,计算机提示猜高了或猜低了;如果猜对,游戏者获胜;游戏者共可以猜10次,若10次均未猜对,则计算机获胜。
二、大概的思路
1.采用循环结构和条件判断语句,这样可以让游戏者猜多次并且在循环结构中加入条件语句来判断是否猜对或猜错,直到猜完10次后打印结果。
2.引入生成随机数的库函数<time.h>头文件来保证能够产生1~100内的随机数
time.h 头文件提供了与时间和日期相关的函数和数据类型。
以下是 <time.h> 库中常用的时间类型和结构:
time_t:用于表示时间的整型类型,通常表示自1970年1月1日以来的秒数。
struct tm:用于表示日期和时间的结构体,包含年、月、日、时、分、秒等字段。
clock_t:用于表示处理器时间的类型,通常表示自程序启动以来的时钟计时单元数。
3.介绍一下do while语句与其他循环结构语句的区别
对于猜数字这一类问题,我们最好使用do while语句来实现,在一开始不论循环继续条件是否成立,循环体语句总会被执行一次,并且能够保证每次执行循环体后表达式的值总趋于“假”,防止出现死循环。
三.具体代码和运行结果
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int x,i=0,guess; srand(time(NULL));//初始化随机数种子 x=rand()%100+1;//产生1~100的随机数 printf("请你猜数:"); do { scanf("%d",&guess); if(x<guess) { printf("你猜高了!\n"); } if(x>guess) { printf("你猜低了!\n"); } else{ printf("你猜对了\n"); break;//猜对就终止循环,跳出整个循环 } i++; if(i>=10) { printf("随机数是:%d\n",x); printf("你已经猜错十次了,我赢了,哈哈!"); break;//猜错十次,终止循环 } printf("请你再猜:"); } while(1);//反复猜数 }