求C语言编写的猜数字游戏程序

2024-11-22 18:38:00
推荐回答(2个)
回答1:

#include
using namespace std;
int main()
{
char s[88],r[88];
printf(" 本游戏只能猜8次!!\n请输入游戏四位不重复的数字\n");
scanf("%s",s);
if(strlen(s)!=4)exit(1);
else
{
int t=0;
while(1)
{
t++;
int a=0,b=0;
printf("输入猜的4位数\n");
scanf("%s",r);
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
if(s[i]==r[j])a++;
if(s[i]==r[j]&&i==j)b++;
}
printf("本次结果:%dA%dB\n",a,b);
if(b==4){printf("恭喜您用%d次猜出来\n",t);break;}
if(t==2){printf("很遗憾! game over !\n");break;}
}
}
return 0;
}
不知是否符合要求!

回答2:

//猜数字游戏
#include
#include
#include
using namespace std;
int main()
{
int a,b,num1,num2,num3,x,y,z,times; //num1,num2,num3为随机生成的目标数字
srand(time(NULL)); //初始化随机数种子
num1=rand()%10; //生成第一个随机数,并确定它是个位数,下同
while(num1==0){ //随机数中0产生的概率较大,故排除0
num1=rand()%10;
}
num2=rand()%10;
while(num2==num1 || num2==0){ //用while语句使3个随机数不同
num2=rand()%10;
}
num3=rand()%10;
while(num3==num1 || num3==num2 || num3==0){
num3=rand()%10;
}
for(times=1;times<=7;++times){ //规定只能输入7次
a=0,b=0; //a为完全正确的数字个数,b为位置不正确的数的个数
cout<<"请输入你猜测的数字:"< cin>>x>>y>>z;
if(x==num1) a=a+1;
else if(x==num2||x==num3) b=b+1;
if(y==num2) a=a+1;
else if(y==num1||y==num3) b=b+1;
if(z==num3) a=a+1;
else if(z==num2||z==num1) b=b+1;
if(a==3) {cout<<"恭喜,你猜对了"< else{
cout< }
}
if(times>7)
cout<<"很遗憾,你没有在规定次数内猜对。答案是:"< return 0;
}
以前我们编的是3个数的,最多猜7次~你稍微改一下就可以了~其他都一样~