概述
//题目: 由计算机“想”一个四位数,请人猜这个四位数是多少。人输入四位数后,
计算机首先判断这四位数中有几位是猜对了,并且在对的数字中又有几位
位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计
算机所想的四位数是多少时为止。
例如:计算机“想”了一个“1234”请人猜,可能的提示如下:
人猜的整数 计算机判断有几个数字正确 有几个位置正确
1122 2 1
3344 2 1
3312 3 0
4123 4 0
1243 4 2
1234 4 4
游戏结束
请编程实现该游戏。游戏结束时,显示人猜一个数用了几次。
/* 标准文档模板 */
#include "Stdio.h"
#include "stdlib.h"
#include<time.h>
int main()
{
int a[4] , b[4] , c[4];
int n,i=0
,j,k,l,m,count=0,num=0,position=0;
int o,p,q,r,g,f,d;
srand((unsigned int)time(NULL));
n=rand()%9000+1000; //输入随机四位数
j=n/1000;
k=n/100-10*j;
l=n/10-100*j-10*k;
m=n%1000%100%10;
a[0]=j;
a[1]=k;
a[2]=l;
a[3]=m;
c[0]=j;
c[1]=k;
c[2]=l;
c[3]=m;
for (g=0 ; g<3 ; ++g) //将随机数的重复值去除
{
for (f=g+1 ; f<4 ; ++f)
{
if (c[g]==c[f])
{
for (d=f ; k<3 ; k++)
{
c[d]=c[d+1];
--g;
--f;
}
}
}
}
while(i!=n)
{
printf("please input a number"); //输入你猜 的数
scanf("%d",&i);
o=i/1000;
p=i/100-10*o;
q=i/10-100*o-10*p;
r=i%1000%100%10;
b[0]=o;
b[1]=p;
b[2]=q;
b[3]=r;
for(g=0 ; g<4 ; g++) //看看你猜中几个数字
{
for (f=0 ; f<4 ; f++)
{
if (b[f]==c[g])
num++;
}
}
for (g=0;g<4;g++) //看看你猜的数字位置对了几个
{
if (a[g]==b[g])
position++;
}
printf("number%dnposition%dn",num,position);
num=0;
position=0;
count++;
}
printf("congratulation,you try %d times,number is %d",count,n);
/* 此处添加你自己的代码 */
getch();
return 0;
}
运行结果:
最后
以上就是活力白云为你收集整理的【C语言入门】人机猜数游戏的全部内容,希望文章能够帮你解决【C语言入门】人机猜数游戏所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复