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

2024-11-24 09:52:20
推荐回答(1个)
回答1:

#include
#include
#include

#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 {
a=b=0;
printf("第%d次机会:",num+1);
for(i=0;i {
ch[i]=getch();
if(ch[i]>='0'&&ch[i]<='9')
{
for(j=0;j if(ch[i]==ch[j]) break;
if(j else
{
putchar(ch[i]);
for(j=0;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 {
s[i]=rand()%10;
for(j=0;j if(s[i]==s[j]) break;
if(j else
{
s[i]+='0';
putchar('*');
}
}
s[i]='\0';
printf("\n总共%d次机会\n",NUM);
detect(s);
}

_______________________
运行结果:
-----------------------
****
总共8次机会
第1次机会:1234 0A2B
第2次机会:2345 0A2B
第3次机会:3456 1A0B
第4次机会:4567 0A1B
第5次机会:5678 0A1B
第6次机会:6789 1A1B
第7次机会:3792 0A2B
第8次机会:9482 1A3B
很遗憾,正确答案为:8429
请按任意键继续. . .