猜数字游戏这个怎么写
计算机生成一个4位数的整数,每个数字都不一样。如3264用户输入一个4位数,如1234
比较这俩个数有多少个数字位置相同,有多少个数字位置不同 如这俩个数有俩个数字位置相同(2、4)。一个数字位置不同(3)。
当有4个数字位置都相同时,说明猜对了。程序结束,否则继续猜
如:
被猜数是3264(计算机出题)
第一次猜 5789 (用户输入)
系统提示: 0个数字位置相同,0个数字位置不同
第二次猜。1234
系统提示 : 2个数字位置相同,一个数字位置不同
第三次猜 1264
系统提示:3个数字位置相同,0个数字位置不同
第四次猜 2264
系统提示:3个数字位置相同,0个数字位置不同
第五次猜 3264
系统提示:4个数字位置相同,0个数字位置不同 恭喜你猜对了,你一共猜了5次。程序结束
//被猜数由键盘输入,一般应对输入进行合规性检查。
#include <stdio.h>
#define N 4
void fenjie(int,int*,int);
int main()
{
int answer[N],guess[N],ans=3264; //其它变量自行添加
fenjie(ans,answer,N); //把被猜数3264进行分解,放在数组answer内。
//在这里完成本函数
}
//输入一个整数b,一个数组给p,一个整数表示数组大小n
//无输出
//功能:把整数b进行分解,每一位数字放在数组里每个元素内。如b为3264,则p0为4,p1为6,p2为2,p3为3;
void fenjie( int b,int *p,int n)
{
int j;
for(j=0;j<n;j++)
{
*p++=b%10;
b=b/10;
}
return ;
}
//比较函数 void bijiao( int *a,int *b, in int n,int *c);
//输入被比较的数组a,b。 a,b数组的大小n,比较结果放在数组c里。
//功能:比较a和b,位置和值相同的个数放在数组c[0]
// 数值相同,但位置不同的个数放在数组c[1],n为数组a,b的大小
void bijiao( int *a,int *b, int n,int *c)
{
//在这里完成本函数
}
//如有其它自定义函数,请在这里自行添加。