欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

C语言实现的猜数字游戏(限制十次机会)

最编程 2024-08-14 18:12:13
...

#include<stdlib.h>//srand的头文件

#include<time.h>//time的头文件

void game()

{

int i = 0;

int guess = 0;//定义用户输入的数字

int ret = 0;//定义ret变量用来存放随机生成的数字

ret = rand() % 100 + 1;//通过rand函数来生成随机数,由于rand函数生成随机数的范围是0-32767(0x7fff),所以对rand()除以100取模,从而得到0-99的数字,再加1得到0-100的数字。

printf("%d\n", ret);

for ( i = 0; i < 10; i++)

{

 printf("请猜数字:>");//屏幕上输出“请猜数字”

 scanf("%d", &guess);//接受用户输入的数字

 if (guess > ret)//对用户输入的数字和随机生成的数字做对比

 {

  printf("猜大了\n");

 }

 else if (guess < ret)

 {

  printf("猜小了\n");

 }

 else if (guess == ret)

 {

  printf("恭喜你,猜对了\n");

  break;

 }

}

if (i=10)

{

 printf("猜了十次都没猜对,你好low!\n");

}

 

}

void menu()//菜单函数

{

printf("**************猜*****数****字***********\n");

printf("***   1. play         0.exit      ***\n");

printf("**************游*********戏************\n");

}

int main()//主函数

{

srand((unsigned int)time(NULL));//rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

int input = 0;

do

{

 menu();

 printf("请选择>:");

 scanf("%d", &input);

 switch (input)

 {

 case 1:

  game();

  break;

 case 0:

  printf("退出游戏\n");

  break;

 default:

  printf("选择错误\n");

  break;

 }


} while (input);//input为0结束循环,若为非0则继续循环;

return 0;

}