• 求大神帮我看看为什么我的程序输出总是0
  • 其它

right代表A前面的数字,意思是数字猜对,位置也对
good代表B前面的数字

#include 
#include

int main()
{
int k,j,good,right;
short a[4],b[4];
srand(time(NULL));
a[0] = rand()%10;
do
{
a[1] = rand()%10;
}while (a[0] == a[1]);
do
{
a[2] = rand()%10;
}while (a[0] == a[2] || a[1] == a[2]);
do
{
a[3] = rand()%10;
}while (a[0] == a[3] || a[1] == a[3] || a[2] == a[3]);
do
{
printf("输入你猜的数:");
scanf("%d",&b[4]);
right = 0;
for(j=0;j<4;j++)
{
if(a[j] == b[j])
{
right = right + 1;
}
}
good = 0;
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
if(a[k] == b[j])
{
good = good + 1;
}
}
}
good = good - right;
printf("%dA%dB\n",right,good);
}while(right!=4);
if(right == 4)
printf("恭喜你猜对了\n");
return 0;
}

  • 西西    2019-11-20 10:31:34
  • 阅读 699    收藏 0    回答 1
  • 邀请
  • 收藏
  • 分享
发送
登录 后发表评论
  • 51testing软件测试圈微信