自学内容网 自学内容网

鹏哥C语言39---分支/循环语句练习:猜数字游戏

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//void fun(int a[])  //因为传过来的是地址,所以应该用一个指针变量来接收,故这里的 a 本质上是个指针变量
//{
//    printf("%zu", sizeof(a));//输出 8  在x64下,指针大小是八个字节
//}
//int main()
//{
//    int a[10] = { 0 };
//    printf("%zu\n", sizeof(a)); // 输出 40
//    //sizeof 计算字符串长度,单位是字节,一个整型字符4个字节,a 共有10个字符的空间,所以是4*10
//    printf("%zu\n", sizeof(a[1]));// 输出 4
//    // a[1] 表示下标为1的元素,即第二个元素,一个整型字符四个字节,故 sizeof(a[1])=4
//
//    fun(a); //数组传参的时候传递的是数组首元素的地址
//
//    return 0;
//
//}

//--------------------------------------------------------------------------------------------------------3.4.3 猜数字游戏  实现
// 电脑产生一个随机数(范围1-100)
// 猜随机数
// 反馈: 猜大了/猜小了
// 猜对了就结束

//设计菜单页
void menu()
{
    printf("****************************************\n");
    printf("**************   1.play   **************\n");
    printf("**************   0.exit   **************\n");
    printf("****************************************\n");
}

//game函数------------猜数字的逻辑
void game()
{
    int guess = 0;
    //  1.----------------------------------电脑生成随机数
    // 生成随机数范围(系统定义) 0--RAND_MAX(32767)
    // int ret = rand();//生成随机数的函数  0--32767
    //rand能生成随机数,但是是伪随机数,所以加一个时间
    int ret = rand() % 100 + 1;//生成随机数 0--100
    // printf("%d", ret);//生成的随机数不能看
    
    //  2.----------------------------------猜数字
    while(1)
    {
        printf("请猜数字:>");
        scanf("%d", &guess);
        if (guess < ret)
        {
            printf("猜小了\n");
        }
        else if (guess > ret)
        {
            printf("猜大了\n");
        }
        else
        {
            printf("恭喜你,猜对了!");
            break;
        }

    }


}

// int *p=NULL
//NULL空指针
int main()
{
    
    int input =0;
    srand((unsigned int)time(NULL));//生成随机数的起点

    do
    {
        //设计菜单页
        menu();
        printf("请选择:>");
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game(); //猜数字的整个逻辑----调用一个函数
            printf("猜数字\n");
            break;
        case 0:
            printf("退出游戏\n");
            break;
        default:
            printf("选择错误,请重新选择!\n");
            break;
        }
    }  while (input); // input 为真(不为0),进入循环
//--------------------------------------------------------------------写一部分,测一部分

    return 0;
}
 


原文地址:https://blog.csdn.net/most_wanted_/article/details/142298488

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!