求用C#编辑一个猜数字游戏。要求是自己想个数(1000-9999之间),电脑猜,电脑猜的数值只有位置与数值同时等于自己想的那个数的位置与值的时候才提示对了几个并不提示猜对的位置,例如我想的是1234电脑如果猜的是1111那么就提示它对了一个,如果电脑猜4321那就提示对了0个!!而且还要记下电脑猜的次数
思路:可以让电脑分别猜测1111 2222 3333 4444 5555 6666 7777 8888 9999,然后得到4个或以下的数如果是4个以下那剩下的就是0,在把得到的4个数随机组合分别与答案比较!!只是本人初学 确实不会写如此繁琐的代码,麻烦各位大神各显神通 帮忙写下!!!小弟感激不尽~
求用C#编辑一个猜数字游戏。要求是自己想个数(1000-9999之间),电脑猜,电脑猜的数值只有位置与数值同时
答案:5 悬赏:50 手机版
解决时间 2021-03-08 11:47
- 提问者网友:杀生予夺
- 2021-03-07 11:09
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-03-07 11:49
random 随机数 让电脑随机出一个(1000-9999之间)的数字,然后用该数字和你输入的进行比较 ,在比较的时候 都转换成string类型的变量 ,遍历字符换比较其中的每一个字符,就能得出电脑猜对了几个, 设置一个int类型全局变量,每生成一个随机数 让全局变量+1,就可得出电脑猜的次数; 程序执行起来以后 基本只能看到电脑猜的次数 因为一次非常快 所以猜对的个数只能是后面你让程序停止的时候 显示的 。 我想的写法大概是这样 效率应该不是很好。仅供参考哈
bool oo = true;
int num = 0;//比较了多少次
string str = "123";
Random r = new Random();
string str1 = r.Next(1000, 9999).ToString();
while (oo)
{
num += 1;
int rightCount = 0;//对了几个
if(str.equals(str1)){rightCount =str.length;oo=false;continue;}
foreach (char s in str1)
{
foreach (char c in str)
{
if (s == c)
{
rightCount += 1;
break;
}
}
}
}
全部回答
- 1楼网友:平生事
- 2021-03-07 15:30
。。。。你这怎么实现 电脑怎么知道你想的是什么 怎么给你判断 是对了几个
- 2楼网友:想偏头吻你
- 2021-03-07 14:17
如同,我和你玩猜数字,我想一个数字你来猜,只有位置和数字相同了才算对,你猜数字之后还要告诉我你对了几个。此题无解。
- 3楼网友:枭雄戏美人
- 2021-03-07 13:36
无聊,一般都是电脑玩人,你还人玩电脑。。。。电脑这么笨,怎么陪你玩~~!!!
排除法:用组合排除的方式来确认数值
- 4楼网友:底特律间谍
- 2021-03-07 12:27
你好!
无聊,一般都是电脑玩人,你还人玩电脑。。。。电脑这么笨,怎么陪你玩~~!!!
排除法:用组合排除的方式来确认数值
希望对你有所帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯