C++项目参考——猜数字游戏

本文详细介绍了如何使用C++实现一个猜数字游戏,包括随机数生成、用户输入处理及结果反馈。通过对比正确与错误版本的代码,深入解析编程逻辑与常见误区。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

【项目-猜数字游戏】通过本题学习一些系统函数。

  随机产生一个1000内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个数为止。(可以再加一个要求,猜了几次才得到正确结果。)

参考解答:

#include <iostream>#include<ctime>#include<cstdlib>using namespace std;int main(void){    int n,num,count=1;    srand(time(0)); //time(0)返回值作种子    num=rand()%1000;    do    {        cout<<"猜一个数:";        cin>>n;        if(n==num)            break;        else if(n>num)            cout<<"大了!"<<endl;        else            cout<<"小了!"<<endl;        count++;    }while(true);    cout<<"历经"<<count<<"次,猜对了。"<<endl;    return 0;}

下面是一个被同学们普遍采用的错误版本。在相互的参考当中,以及从网络上找到帮助之中,还要自己学会阅读和分析代码。

我在程序中做了些注释,请同学们思考。在http://blog.youkuaiyun.com/u012369599/article/details/16830477中我和那篇文章的主人做了些交流,可参阅。

#include <iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){    int i,n,s,num=0;    srand(time(0));    cin>>s;    for(i=0; i<1; i++) //——这个只能“循环”一次,i++之后i<1将为假,何用?    {        n=rand()%1000;        while(s>n)  //如果猜的数一直偏大,就这样处理,似乎还有理        {            cout<<"你输大了,再小一点!"<<endl;            cin>>s;            num++;        }        while(s<n)  //猜小了将落入这个循环。可是,再猜大了呢?        {            cout<<"你输小了,再大一点!"<<endl;            cin>>s;            num++;        }  //两趟while循环下来,只能“单向”的太大或太小,多运行两次你会发现,猜小了之后只要再猜大一次了,一定说正确。    }    cout<<"恭喜你,输入正确"<<"共输入"<<num<<"次"<<endl;    return 0;}


           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值