1:题目
2.思路分析
1.首先malloc开辟的数组,将其中的元素的值为零,方便之后的统计次数
2.先统计猜中的,当猜中时,solution[i]==guess[i]时,为让防止之后统计之后伪猜中时重复的,要将值改变,为了避免和以已有值重复,就+ - 一就可以了,而且为了避免找伪猜中时有重复,这两个数组的变化不能一样,不然就会重复,所以一个加一,一个减一
3.代码
int* masterMind(char* solution, char* guess, int* returnSize)
{
int* arr = (int *)malloc(2*sizeof(int));
int i = 0;
arr[0] = arr[1] = 0;
//猜中
for(i = 0; i<4;i++)
{
if(solution[i] == guess[i])
{
solution[i]++;
guess[i]--;
arr[0]++;
}
}
//伪猜中
for(i = 0; i<4;i++)
{
for(int j = 0; j<4;j++)
{
if(solution[i] == guess[j])
{
solution[i]++;
guess[j]--;
arr[1]++;
}
}
}
*returnSize = 2;
return arr;
}