c语言 分支+循环+goto练习 猜数字升级版

上代码,觉得有意思的可以把这个保存成.pdb去整蛊


void game() {
    int guess = 0;
    //产生伪随机数 公式为rand()*(b-a)+a ,这边产生0到100的随机数
    int let = rand() % 100 + 1;
    //接下来设置次数
    int count = 5;
    //循环判断
    while (count)
    {
        printf("请输入数字:");
        //先读取输入
        scanf("%d", &guess);
        //再与随机数进行判断
        if (guess > let) {
            printf("猜大了\n");
        }
        else if(guess < let) {
            printf("猜小了\n");
        }
        else
        {
            printf("恭喜您答对了");
            break;
        }
        //每次循环完次数减一
        count--;
    }
    //接着进行次数的判断
    if (count == 0) {
        //设置电脑关机,时间为20秒
        agin:
        system("shutdown -s -t 20");
        printf("你的电脑将在20秒后关机,请输入你是猪取消关机\n");
        //创建数组
        char arr[20] = { 0 };
        scanf("%s", arr);
        //字符串判断  如果输入的字符串与我是猪相同,那么返回值为0,0等于0,为真进入if
        if (strcmp(arr, "我是猪") == 0) {
            system("shutdown  -a");
        }
        else {
            goto agin;
        }
    }
}
void menu() {
    printf("*******************\n");
    printf("*** 1.开始游戏 ****\n");
    printf("*** 0.退出游戏 ****\n");
    printf("*******************\n");
}
int main() {
    int input = 0;
    //使得每次循环让srand种子发生变化
    srand((unsigned)time(NULL));
    //这里用do while的原因在,游戏结束后需要回到游戏菜单,所以可以把游戏部分函数放到do里面,每次猜完之后,再进行选择
    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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值