c语言写猜数游戏,就是那个几A几B的,但改成电脑猜数,就是电脑1抽数字,电脑2猜数字,求AI代码阿

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言写猜数游戏,就是那个几A几B的,但改成电脑猜数,就是电脑1抽数字,电脑2猜数字,求AI代码阿相关的知识,希望对你有一定的参考价值。

参考技术A 就是多加一个随机数而已,两个随机数对上了,就是,对不上就不是,没难度

求几A几B,那4个数是不重复的
我见过的最好产生4个不重复的数的代码
int c[10]=0,1,2,3,4,5,6,7,8,9;
int x,y;
for(i=0;i<100;i++) //交换的次数越多,那么a打乱的越好


while(1)

x=rand()%10;
y=rand()%10;
if(x!=y)

tmp=c[x];
c[x]=c[y];
c[y]=tmp;
break;




随即取出a的4位数,这个简单,这个就是那个不重复的4位数
要是电脑猜,那么这个过程在来一遍,生成4个数就好了

判断A几B,m[4]是随机生成的,n[4]是输入的
int a=0,b=0;

for(i=0;i<4;i++)
if(m[i]==n[i])
a++;

for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(m[i]==n[j]&&i!=j)
b++;
参考技术B #include<stdio.h>
#include<stdlib.h>
#include <time.h>
intmain()
unsigned int num_1,num_2,num;
unsigned int mid;
shortctn;
srand((unsigned)time(NULL));
do
//电脑1给出一个数字
num = rand();
printf("电脑1选一个数字:num = %u\n",num);
//电脑2开始猜
printf("电脑2开始猜\n");
num_2 = num_1 = rand();
printf("猜 %u\n",num_1);
if(num == num_1)
break;
while(num_2>num)
num_2>>=1;

while(num_1<num)
num_1<<=1;

printf("猜 %u\n",num_1);
if(num_1 == num)
break;

printf("猜 %u\n",num_2);
if(num_2==num)
break;

else
//用二分法猜
while(1)
mid = (num_1+num_2)>>1;
printf("猜 %u\n",mid);
if(mid>num)
num_1 = mid;
else if(mid<num)
num_2 = mid;
else
break;

printf("正确\n");

printf("按N停止游戏:");
scanf("%c",&ctn);
getchar();
if(ctn == 'N'||ctn == 'n')
ctn = 0;
else
ctn= 1;
printf("\n");
while(ctn);
return0;

与电脑进行猜数游戏

1问题

电脑会随机生成一个数,玩家共有五次机会,猜出这个数,若数字大了,会提示太大了,数字小了,会提示太小了

2 方法

这里运用到了python的循环语句结构,引用了random库,让玩家可以不断的猜测数字。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

from random import*
n=randint(1,100)
for I in range:
y=eval(input(‘输入数字’))
if n==y:
print(‘猜对了’)
break
elif n>y:
print(‘太小了’)
else:
print(‘太大了’)

4 结语

本次通过引用random库,使电脑随机生成一个数字,通过for循环,让玩家进行猜测。很好的让我们对于for循环的使用方法有了一个新的认识。

以上是关于c语言写猜数游戏,就是那个几A几B的,但改成电脑猜数,就是电脑1抽数字,电脑2猜数字,求AI代码阿的主要内容,如果未能解决你的问题,请参考以下文章

用Java编程这个猜数字游戏

c语言设计猜数字游戏

初时C语言1 (用C语言来写猜数字游戏)

c语言猜数游戏编程

c语言猜数游戏

用Python写猜年龄游戏