注册 登录
编程论坛 C++教室

[求助]怎样通过编程让计算机自己猜出数字,请指点~

wswanghao 发布于 2007-04-30 10:43, 686 次点击
老师给我们留了个作业:
怎么通过编程实现一个猜数字的游戏:
每次返回aAbB(A表示数字正确并且位置正确,B表示数字正确但位置不正确)
? 如:假设要猜的数字是1234,如果游戏者猜0134即返回2A1B(3、4为A,1为B)
怎样让计算机自己去猜这个数字.
请高手把C/C++的程序原代码写出,不胜感激~~!!!
(本人学习C不久,希望高手多加注释~~~~)
7 回复
#2
wswanghao2007-04-30 10:45
高手快来啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#3
海子2007-04-30 10:56
#include<iostream.h>
void main()
{
int a[4],b[4],i,j,n1 = 0,n2 = 0;
for(i = 0;i<4;i++)
{
a[i] = random(1,10,1);
}
cout<<"请输入你的数字:(4位):"<<endl;
for(i = 0;i<4;i++)
cin>>b[i];
for(i = 0;i<4;i++)
if(a [i] == b[i])
n1++;
for(i = 0;i<4;i++)
for(j = 0;j<4;j++)
{ if(a[i] == b[j])
n2++;
}
cout<<n1<<"A"<<n2<<"B"<<endl;
}
试一下吧
#4
ling伶2007-04-30 11:25
是随机的
#include<iostream.h>
void main()
{
int a[4],b[4],i,j,n1 = 0,n2 = 0;
for(i = 0;i<4;i++)
{
a[i] = random(1,10,1);
}
cout<<"请输入你的数字:(4位):"<<endl;
for(i = 0;i<4;i++)
cin>>b[i];
for(i = 0;i<4;i++)
if(a [i] == b[i])
n1++;
for(i = 0;i<4;i++)
for(j = 0;j<4;j++)
{ if(a[i] == b[j])
n2++;
}
cout<<n1<<"A"<<n2-n1<<"B"<<endl;
}
不是随机的
#include<iostream.h>
void main()
{
int a[4],b[4],i,j,n1 = 0,n2 = 0;
for(i = 0;i<4;i++)
{
a[i] = random(1,10,1);
}
cout<<"请输入你的数字:(4位):"<<endl;
for(i = 0;i<4;i++)
cin>>b[i];
for(i = 0;i<4;i++)
if(a [i] == b[i])
n1++;
for(i = 0;i<4;i++)
for(j = 0;j<4;j++)
{ if(a[i] == b[j])
n2++;
}
cout<<n1<<"A"<<n2-n1<<"B"<<endl;
}
试试
#5
小猪笨笨2007-04-30 11:59
楼上的 你那两个 我没看出什么区别啊??
#6
小猪笨笨2007-04-30 12:12
弱弱的问一下 random(1,10,1);
怎么解释??谢谢!!
#7
aipb20072007-04-30 20:20

做了个完整的

欢迎debug!

只有本站会员才能查看附件,请 登录

#8
I喜欢c2007-05-01 14:30
的确没看出区别
1