星秀小锅 2022-03-14 23:15 采纳率: 100%
浏览 38
已结题

c++如何改为一直猜数字直到猜对为止,这个只能猜五次

img


c++这个代码如何改为一直猜数字直到猜对为止,这个只能猜五次,不理解,new不是动态分配吗

  • 写回答

2条回答 默认 最新

  • 关注

    你这是JAVA代码。你这代码里的new都是申请类型变量,没有动态分配的东西。还是你贴错代码了?
    猜数游戏C++代码:

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    void caishu(int n)
    {
        int c,count=0;
        int max=100,min=1;
        system("cls");
        while(1)
        {
            cout <<"请输入一个数:";
            cin >> c;
            count++;
            if(c>n)
            {
                max = c;
                cout << "太大了,数应该在"<< min <<"-"<<max<<"之间。";
            }
            else if(c<n)
            {
                min = c;
                cout << "太小了,数应该在"<< min<<"-"<< max<<"之间。";
            }
            else
            {
                cout <<"猜对了,共猜了"<< count<<"次"<<endl;
                system("pause");
                return;
            }
        }
    }
    
    
    
    int main()
    {
        int n;
        int op;
        srand((unsigned int)time(0));
        //菜单
        while(1)
        {
            system("cls");
            cout <<"欢迎使用猜数游戏\n";
            cout <<"1.开始游戏\n";
            cout <<"2.退出游戏\n";
            cin >> op;
            switch(op)
            {
            case 1:
                n = rand()%100+1;
                caishu(n);
                break;
            case 2:
                return 0;
            }
        }
    
    
    
    }
    
    
    
    

    猜数游戏C代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    void caishu(int n)
    {
        int c,count=0;
        int max=100,min=1;
        system("cls");
        while(1)
        {
            printf("请输入一个数:");
            scanf("%d",&c);
            count++;
            if(c>n)
            {
                max = c;
                printf("太大了,数应该在%d-%d之间。",min,max);
            }
            else if(c<n)
            {
                min = c;
                printf("太小了,数应该在%d-%d之间。",min,max);
            }
            else
            {
                printf("猜对了,共猜了%d次\n",count);
                system("pause");
                return;
            }
        }
    }
    
    
    
    int main()
    {
        int n;
        int op;
        srand((unsigned int)time(0));
        //菜单
        while(1)
        {
            system("cls");
            printf("欢迎使用猜数游戏\n");
            printf("1.开始游戏\n");
            printf("2.退出游戏\n");
            scanf("%d",&op);
            switch(op)
            {
            case 1:
                n = rand()%100+1;
                caishu(n);
                break;
            case 2:
                return 0;
            }
        }
    
    
    
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月14日
  • 已采纳回答 3月14日
  • 创建了问题 3月14日

悬赏问题

  • ¥15 报酬10000,做一个简单的换汇网站
  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢