C++一百以内猜数字问题

问题遇到的现象和发生背景

猜数字小游戏(电脑生成一个随机数,玩游戏的人通过试数来猜出真正的数字)
如何在代码中加入一些东西,然后使输入5个数字之后宣布“挑战失败呢?”

问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
int main(){
srand((unsigned int)time(NULL));
//一个随机数 
int i=rand()% 100+1;
cout<<"猜一个一百以内的数字:"<<endl;
int a=0;
cin>>a;
while(a!=i)
{if(a>i)
cout<<"这个数字有点儿大"<<endl<<"再猜一遍捏:"<<endl; 
else cout<<"这个数字有点儿小"<<endl<<"再猜一遍捏:"<<endl; 
cin>>a;
}
if(a=i)cout<<"可终于答对了,呱唧呱唧"; 
 return 0;


运行结果及报错内容 这个运行结果是对的
我的解答思路和尝试过的方法

用if/for语句 在循环中加入n,n++,当n小于5时循环结束,输出"挑战失败‘’

我想要达到的结果


img

代码:

#include<iostream>
#include<windows.h>
#include<time.h>
using namespace std;
int main()
{
    srand((unsigned int)time(0));
    int i = rand()%(100-0)+0;
    cout<<"猜100以内的数字"<<endl;
    int op=0;
    int count=0;//答错个数 
    while(1)
    {
        cin>>op;
        if (op==i)
        {
            cout<<"答对了";
        }
        if (op>i)
        {
            cout<<"猜大了";
            count++;
        }
        if (op<i)
        {
            cout<<"猜小了";
            count++;
        }
        if (count==5)
        {
            cout<<"挑战失败"; 
        }
    }
}

添加一个变量count=0,每输入一次,让count++,当count==5的时候,输出"挑战失败‘’即可。
你的代码中,最后的if(a=i)这里应该是if(a==i)
完整代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int count = 0;
    srand((unsigned int)time(NULL));
    //一个随机数 
    int i=rand()% 100+1;
    cout<<"猜一个一百以内的数字:"<<endl;
    int a=0;
    cin>>a;
    count = 1;
    while(a!=i)
    {
        if(count == 5)
        {
            cout << "挑战失败"<<endl;
            break;
        }
        if(a>i)
            cout<<"这个数字有点儿大"<<endl<<"再猜一遍捏:"<<endl; 
        else 
            cout<<"这个数字有点儿小"<<endl<<"再猜一遍捏:"<<endl; 
        cin>>a;
        cout++;

    }
    //这里应该是==
    if(a==i)cout<<"可终于答对了,呱唧呱唧"; 
    return 0;
}



您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632