急求一份完整的文曲星上的猜数字游戏的课程设计
3. 文曲星猜数游戏
模拟文曲星上的猜数游戏,先由计算机随机生成一个各位相异的4位数字,由用户来猜,根据用户猜测的结果给出提示:xAyB
其中,A前面的数字表示有几位数字不仅数字猜对了,而且位置也正确,B前面的数字表示有几位数字猜对了,但是位置不正确。
最多允许用户猜的次数由用户从键盘输入。如果猜对,则提示“Congratulations!”;如果在规定次数以内仍然猜不对,则给出提示“Sorry, you haven't guess the right number!”。程序结束之前,在屏幕上显示这个正确的数字。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int k,i,j,a[4],b[4],count,d,n;
time_t t;
srand((unsigned) time(&t));
b[0]= rand()%9;
for(i=1;i<4;i++)
{
rsm:k= rand()%9;
for(j=0;j<i;j++)
if(k==b[j])
goto rsm;
b[i]=k;
}
printf("\n请输入猜的次数: ");
scanf("%d",&n);
while(n--)
{
count=0;d=0;
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<4;i++)
{
if(b[i]==a[i])
count++;
}
printf("%dA",count);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i]==b[j])
d++;
}
printf("%dB\n",d-count);
if(count==4)
{
printf("\nCongratulations!\n");
system("pause");
return 0;
}
}
printf("Sorry, you haven't guess the right number.\n");
printf("随机产生的数:");
for(i=0;i<4;i++)
{
printf("%d ",b[i]);
}
system("pause");
}