猜数字小游戏

 劣∶

#include <stdlib.h>
#include <time.h>
void main()
{
     srand((unsigned int)time(NULL));
    int b = 0;
    int a = 0;
mark3:
    //mark3用于输入0重新游戏
    printf("输入1开始猜一个不大于32767的正整数游戏\n输入0重新游戏\n输入其它数字退出游戏\n\n");
mark4: 
    //mark4防止随机到0
    a = rand();
    if (a == 0)
        goto mark4;
    scanf("%d", &b);
    switch (b)
    {
    case 1:
    {
    mark:
    mark1:
        //mark和mark1用于猜错了重新猜
        printf("输入你想猜的数字\n");
        scanf("%d", &b);
        if (b == 0)
        {
            goto mark3;
            printf("游戏重新开始");
        }
            break;
    }
    default:
        goto mark2;
    }
    if (b > a)
    {
        printf("猜大了\n\n");
        goto mark;
    }
    else if (b < a)
    {
        printf("猜小了\n\n");
        goto mark1;
    }
    else
        printf("you are winner.\n");
mark2:
    //mark2用于主动结束游戏
    printf("game over\n");
}

 

优∶

#include <stdlib.h>

#include <time.h>

//函数

void menu()

{

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

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

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

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

}

 

//猜数字游戏的实现

void game()

{

 //1. 生成随机数(1~100)

 int ret = rand() % 100 + 1;//1~100

 //n%100 余数的取值的范围 0~99

 //2. 猜数字

 int guess = 0;

 int count = 5;

 while (count)

 {

  printf("请猜数字:>");

  scanf("%d", &guess);

  if (guess < ret)

  {

   printf("猜小了\n");

  }

  else if (guess > ret)

  {

   printf("猜大了\n");

  }

  else

  {

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

   break;

  }

  count--;

 }

 if (count == 0)

 {

  printf("猜失败了,正确的数字是:%d\n", ret);

 }

}

int main()

{

 int input = 0;

 srand((unsigned int)time(NULL));

 do

 {

  menu();

  printf("请选择:>");

  scanf("%d", &input);

  switch (input)

  {

  case 1:

   game();

   break;

  case 0:

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

   break;

  default:

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

   break;

  }

 } while (input);

 return 0;

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁꫞꯭咫尺꯭꫞꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值