C语言猜数字游戏代码实现
题目:实现人机交互的猜数字游戏
描述: 1、电脑随机生成一个1-100之间的数字 2、玩家猜数字 3、如果猜对了,就提示,猜对了 4、如果猜错了,就提示,猜大了,或者猜小了,直到猜正确 5、可以反复玩
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include <stdlib.h> #include<time.h> void menu() { printf("********************************* "); printf("******* 1.play ****** "); printf("******* 0.exit ****** "); printf("********************************* "); } void game() { //1、生成随机数 int guess = 0; int ret = rand() % 100+1; //printf("%d ", ret); //2、猜数字 while (1) //只有猜对,循环才停下来 { printf("请输入你猜的数字 "); scanf("%d", &guess); if (guess > ret) printf("猜大了 "); else if (guess < ret) printf("猜小了 "); else { printf("恭喜你,猜对了 "); break; } } } int main() { int input = 0; srand((unsigned int)time(NULL));//强制转换成unsigned int类型 //time(NULL) 指针类型,返回空值 do //游戏至少进去一次,所以选择do while 循环 { menu(); printf("请选择 "); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("退出游戏 "); break; default: printf("输错了,请重新输入! "); break; } } while (input); //非0就上去继续循环 return 0; }
难点:
随机数的生成
这里要用到两个函数,time函数与srand函数 而随机数的生成,则需要借助我们的时间,这里有一个叫时间戳的东西,可以将我们在此刻的时间与计算机的起始时间1970年零点零分的差值转换成秒数,而这个秒数就是时间戳。 而time函数,可以返回时间戳
上一篇:
IDEA上Java项目控制台中文乱码