栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

猜数字,编写代码写一个猜数字游戏,goto语句

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

猜数字,编写代码写一个猜数字游戏,goto语句

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include//引入time库函数,

#include
#include
//指令:shutdown -s -t 60—电脑将在60s后关机      shutdown -a——取消关机
int main()
{
    char arr[20] = { "0" };
    system("shutdown -s -t 60");//system函数需引入
    again:
    printf("请注意,您的电脑将在1分钟后关机,如果输入:我是猪,则取消关机n请输入:");
    scanf("%s", arr);
    
        if (strcmp("我是猪", arr) == 0)
        {
            system("shutdown -a");//引入头文件
            
        }
        else
            goto again;
    
    
}
//go to语句——使程序执行随意跳转的一个语句——终止某些程序下进行深层嵌套出现错误时特别适用,其他场景不建议使用
//go to语句可以用循环替代    eg:
//int main()
//{
//    again:
//    printf("hello wordn");
//    goto again;
//}

//产生一个1~100之间的随机数,猜数字游戏的实现
void menu()//创建自定义函数—简易菜单
{
    printf("************************n");
    printf("****1.play   0.excit****n");
    printf("************************n");
}
void game()//创建自定义函数—game函数
{
    int ret = 0;
    int guess = 0;
    ret=rand()%100+1;//引入rand函数,并将产生的1~100随机数赋值给ret
    //rand—库函数—产生随机数—产生随机数最大值为RAND_MAX—即最大值为32767
    while(1)
    {
        printf("请猜数字n");
        scanf("%d", &guess);
        if (guess > ret)
            printf("你猜大了n");
        else if (guess < ret)
            printf("你猜小了n");
        else
        {
            printf("恭喜你,你猜对了n");
            break;
        }        
    }
}

int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));//引入srand函数作为rand函数的初始指针。unsighed—将time函数的类型强行进行转换为int类型。NULL为空的时间戳,引入时间即可
    do
    {
        menu();
        printf("请选择 :");
        scanf("%d",&input);
        switch(input)//进入相对应的case语句
        {
        case 0:
            printf("退出游戏n");
            break;
        case 1:
            game();//猜游戏的过程
            break;//退出switch语句,input=1—重新进入do while循环,重新输入后,重新进入switch语句
        default:
            printf("输入错误,请重新输入n");

        }
    } while (input);

    return 0;
}

猜中间数
int main() 
{
    int arr[20] = {1,2,3,4,5,6,7,8,9,10};
    int left = 0;
    int right = sizeof(arr) / sizeof(arr[0])-1;
    int average = 0;
    int key = 7;
    for (;;) 
    {
        average = (left + right) / 2;
        if (arr[average] < key)
        {
            left = average;
        }
        else if (arr[average] > key)
            right = average;
        else {
            printf("找到了n值为%d", arr[average]);
            break;
        }
    }
    
        

    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1038619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号