C语言程序设计 猜数字游戏

用户从键盘输入4位不重复的数,来匹配计算机给出的4位随机数,若数字和位置均等同,表示用户赢了。每猜一次,计算机均给出提示信息(x,y),x表示数字、位置都匹配的个数,y表示数字匹配但位置不匹配的个数。 给定H键作为帮助键,按下后均能得到详细信息,如:第一位数字正确,第2,3为数字位置不对等。 给定K键作为管理键,按下后可以查看计算机所给的4位数,但查看前需要输入密码,密码自定。 设置游戏分值,将每一次猜的结果以分值的形式给出,如:初始分值1000分,每猜一次扣100分,若猜对一个数,奖励20分。 将得分最高的前3位的分值在每次开始新游戏前显示出来,同时,在每次游戏结束后将前3位的分值存盘,文件名自定。哪位高人赐教,帮忙写一下,急用,谢谢了!

看看这样是不是符合你的要求。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 4/*随机抽N个数*/
#define NUM 8/*NUM次猜数的机会*/

void detect(char s[])
{
int i,j,num;
int a,b;
char ch[N];
for(num=0;num<NUM;num++)
{
a=b=0;
printf("第%d次机会:",num+1);
for(i=0;i<N;i++)
{
ch[i]=getch();
if(ch[i]>='0'&&ch[i]<='9')
{
for(j=0;j<i;j++)
if(ch[i]==ch[j]) break;
if(j<i) i--;
else
{
putchar(ch[i]);
for(j=0;j<N;j++)
{
if(ch[i]==s[j])
if(i==j) a++;
else b++;
}
}
}
else
i--;
}
printf(" %dA%dB\n",a,b);
if(a==N)
{
printf("恭喜你答对了!\n");
break;
}
}
if(num==NUM)
printf("很遗憾,正确答案为:%s\n",s);
}

main()
{
int i,j;
char s[N+1];
srand(time(0));
for(i=0;i<N;i++)
{
s[i]=rand()%10;
for(j=0;j<i;j++)
if(s[i]==s[j]) break;
if(j<i) i--;
else
{
s[i]+='0';
putchar('*');
}
}
s[i]='\0';
printf("\n总共%d次机会\n",NUM);
detect(s);
}
温馨提示:内容为网友见解,仅供参考
无其他回答

用C语言编写的小游戏代码是什么?
void csh( ) \/\/初始化 { printf("\\n\\n 猜 数 字 小 游 戏\\n\\n");printf(“ 猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\\n”);} void start( ) \/\/开始游戏 {int m,n; \/\/m是完全猜对的个数,n是顺序不对的个数 while(1){srand((unsigne...

用C语言编写一段猜数字游戏,跟一般的不一样,规则如下
} printf("答案是:%d\\n你猜对了,接受惩罚。",k);return 0;}

c语言小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示_百度...
int main(void){ int value=0;int num=0;srand((unsigned int) time(NULL));num=rand()%100+1; \/\/1-100 while(1){ scanf("%d",&value);if(num>value){ printf("您猜小了\\n");} else if(num<value){ printf("您猜大了\\n");} else if(num=value){ printf("恭喜您猜对了\\...

猜数字游戏C语言编程
include void main(){ int magic,guess,k;char over,c;printf("退出游戏请输入z\\n");do { srand (time(NULL));magic=rand()%100+1;printf("请输入猜测的数字1~100\\n");for(k=0;guess!=magic;k++){ scanf("%d",&guess);if (guess==magic)printf("恭喜,你猜对了!\\n");scanf(...

悬赏,C语言猜数字游戏程序编写
int total_guesses=0,best=0,now=0,num_of_game=0;srand(time(NULL));do { ++num_of_game; \/\/统计玩游戏的盘数 total_guesses+=now=game(); \/\/统计总共猜数字的次数 if (!best) best=now; \/\/统计最佳成绩 else if (now<best) best=now;printf("Play again (y or n)?")...

C语言 编写一个猜数字游戏,规则:使用随机函数产生一个5位数,输入猜测...
include void main(){ intA=0,B,i,j,k=0,a[5],g[5];printf("请输入你猜测的一个5位数数字\\n");scanf("%d",&k);while(k<12345||k>99999){ printf("你输入了一个非常规数据,请重新输入\\n");scanf("%d",&k);} srand((unsignedint)time(NULL));for(i=0;i<5;i++){ a[i...

【c语言】编写一个猜数字游戏
include void circle(int i){ int n ;printf("请输入您所猜的数字(0-100) \\n");scanf("%d",&n);if(i<n){ printf("the number is larger,input agine.\\n");circle(i);} if(i>n){ printf("the number is smaller.input agine \\n");circle(i);} if(i==n)\/\/?不是 printf...

c语言设计一个猜数游戏,电脑会自动提示大了或小了,直到猜对为止
include "stdlib.h"int main(int argc, char* argv[]){ int r;int g;srand(time(0));r = rand()%1000;\/\/产生一个小于1000的随机数,让大家猜 printf("请输入你猜的数:");scanf("%d",&g);while(g != r)\/\/没猜中就循环 { if(g > r){ printf("大了,请重新输入:");} els...

急!!C语言求助:猜数字游戏
); for(i=0;i<4;i++) { answer[i]=rand()%10; for(j=0;j

c语言写猜数游戏,就是那个几A几B的,但改成电脑猜数,就是电脑1抽数字...
c[x]=c[y];c[y]=tmp;break;} } } 随即取出a的4位数,这个简单,这个就是那个不重复的4位数 要是电脑猜,那么这个过程在来一遍,生成4个数就好了 判断A几B,m[4]是随机生成的,n[4]是输入的 int a=0,b=0;for(i=0;i<4;i++)if(m[i]==n[i])a++;for(i=0;i<4;i++)fo...

相似回答