猜一个100以内的数的,可以重复游戏,且每局游戏结束,猜的过程保留三秒后清屏。
//一定要注意运行逻辑,不可以赘余使用
#include<stdio.h>
#include<windows.h>
//生成随机数rand返回随机整数0到RAND_MAX
#include<stdlib.h>//生成随机数和打开系统命令
#include<time.h>//使用时间戳
void game()//游戏逻辑
{
int m = 0;
//time():会返回时间戳(时间戳:到1970_1_1的时间)longlong 整型time(指针)
//srand((unsigned int)time(NULL));//传一个变换的值,时间是变换的
//NULL==0空指针
//生成随机数
//生成随机数过大使用: % +1
int ret = rand() % 100 + 1;//rand使用前要使用srand改变生成起点
//printf("%d\n", ret);
//时间过快会使两次相邻或相同,srand送到main中;
printf("请猜数字->:");
while (1)//也不可以将int ret = rand() % 100 + 1;放入循环,循环制造随机数,给自己挖坑
{
scanf("%d", &m);
if (m < ret)
printf("真可惜,猜小了!\n");
else if (m > ret)
printf("真遗憾,猜大了!\n");
else
{
printf("太棒了,猜对了!\n");
break;
}
}
}
void menu()//打印菜单
{
printf("***************\n");
printf("*** 1.play ***\n");
printf("*** 0.exit ***\n");
printf("***************\n");
}
int main()
{
srand((unsigned int)time(NULL));//使用一次,既运行一次
int n = 0;
do
{
menu();
scanf("%d", &n);
switch (n)
{
case 0:
printf("退出游戏。\n");
break;
case 1:
printf("猜数字!\n");
game();
Sleep(3000);
system("cls");
break;
default:
printf("输入错误,重新输入。\n");
break;
}
} while (n);
return 0;
}