c++编程:猜数字游戏

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:05:03
系统随机产生一个四位数,没有重复数字。同学首先输入四个数(每行一个),然后系统会给出相应提示。 如“你猜对几个数但位置不对”。在8次内猜出该四位数,否则退出。

#include<iostream>
#include<ctime>
#include<ctdlib>
using namespace std;

void main()
{
int a[4],b[4];
int i,j,k;
bool flag=false;
srand( (unsigned)time( NULL ) ); //初始化rand

//产生随机数
a[0]=rand()%10;
for(i=1;i<=3;i++)
{
a[i]=rand()%10;

for(j=0;j<i;j++)
while(a[i]==a[j])
a[i]=rand()%10;

}

//输出提示信息
cout<<"程序已经产生了一个四位互不重复的随机数字,"
<<"请在下方每行分别键入一个一位数,注意也应当互不相同,"
<<"以增加获胜的概率\n请输入:"<<endl;

//输入
k=0;
while(k<8)
{
i=0;
while(i<4)
{
cin>>b[i];
i++;
}

//比较判断
int count=0,correct=0;
int c[4];//用来保存数值正确的数字
int d[4];//用来保存位置和数值都正确的数字
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i]==b[j])
{
c[count++]=b[j];
if(i==j)
d[correc