我是靠谱客的博主 活力白云,最近开发中收集的这篇文章主要介绍【C语言入门】人机猜数游戏,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//题目: 由计算机“想”一个四位数,请人猜这个四位数是多少。人输入四位数后,

计算机首先判断这四位数中有几位是猜对了,并且在对的数字中又有几位

位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计

算机所想的四位数是多少时为止。

例如:计算机“想”了一个“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语言入门】人机猜数游戏所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部