下面是我根据题意写的程序.
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "string.h"
/*这个函数用来设定答案,并保证4个数字不重复.*/
void shizhi(char x[4])
{ int i=0,j=1;
char tmp;
x[i]=random(10)+48;
while(j<4)
{ tmp=random(10)+48;
for(i=0;i<j;i++)
if (tmp==x[i]) break;
if(i==j) {x[j]=tmp; j++;}
}
}
void main()
{ char daan[5],fankui[5];
int i,j,csum=0,asum=0,bsum=0;
/*csum是次数计数器,asum和bsum是A与B的次数*/
daan[4]='\0'; fankui[4]='\0';
/*daan是出题者设定的,fankui是用户返回的数据.*/
clrscr();
srand(time(NULL));
shizhi(daan);
printf("qing shu ru ni cai de su,shu ru QUIT tui chu.\n");
scanf("%s",fankui);
csum++;
while(strcmp(fankui,"QUIT"))
{ for(i=0;i<4;i++)
{if (daan[i]==fankui[i]) asum++;
else
for(j=0;j<4;j++)
if (daan[i]==fankui[j]) {bsum++; break;}
}
printf("%dA%dB\n",asum,bsum);
if (asum==4) break;
printf("qing shu ru ni cai de su,shu ru QUIT tui chu.\n");
scanf("%s",fankui);
csum++;
asum=0; bsum=0; /*把次数设为0,以方便下次计数*/
}
printf("daan=%s fankui=%s ni cai le %d ci.",daan,fankui,csum);
getch();
}
这是我测试程序时,自己猜的结果,我猜了20次.....
生成重复字符问题已解决
[此贴子已经被作者于2006-9-5 11:57:25编辑过]