#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()
{
int sjs[4];
int scs[4];
int allr,numr;
int i,j,get;
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
sjs[i]=rand() % 10;
}
printf("你要猜的数是:\n");
for(i=0;i<4;i++)
{
printf("%d ",sjs[i]);
}
printf("\n");
printf("是否开始:1.是;0.否.\n");
scanf("%d",&get);
while(get)
{
allr=0;
numr=0;
printf("请输入所猜的数:\n");
for(i=0;i<4;i++)
{
scanf("%d",&scs[i]);
}
for(i=0;i<4;i++)
{
if(sjs[i]==scs[i])
allr++;
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(sjs[i]==scs[j]&&i!=j)
numr++;
}
printf("所猜的数为:\n");
for(i=0;i<4;i++)
{
printf("%d ",scs[i]);
}
printf("\n");
if(allr==4)
{
printf("恭喜猜对了!\n");
allr=0;
numr=0;
for(i=0;i<4;i++)
{
sjs[i]=rand() % 10;
}
printf("你要猜的数是:\n");
for(i=0;i<4;i++)
{
printf("%d ",sjs[i]);
}
printf("\n");
}
else
printf("全对的数为:%d,数对位错的为:%d\n",allr,numr);
printf("继续输:1,退出输:0\n");
scanf("%d",&get);
}
printf("拜拜!\n");
return 0;
}
我的程序在随即产生的数有重复时得到的结果好象不怎么正确,该怎么样改?
[此贴子已经被作者于2007-10-23 8:18:52编辑过]