gpt4 book ai didi

C-比较两个四位数字数组的函数

转载 作者:行者123 更新时间:2023-12-04 19:53:26 25 4
gpt4 key购买 nike

我正在尝试创建一个函数来比较两个四位数和返回两者之间相似数字的个数。例如,生成的号码是 4311,用户输入的是 1488,分数应返回 2(4 和 1)。

如果是4311,另一个是1147,得分应返回三个(1、1 和 4)。我不知道为什么它没有给我正确的输出,希望你能帮忙。

int getSameDigitScore(int playerGuess, int generatedNum) {

int score = 0;
int i;
int j;
int k;
int generatedNumArray[4];
int playerGuessArray[4];

// turns playerGuess into an array
while (playerGuess > 0 ) {
i = 0;
playerGuessArray[i] = playerGuess % 10;
i++;
playerGuess /= 10;
}
// turns generatedNum into an array
while (generatedNum > 0) {
i = 0;
generatedNumArray[i] = generatedNum % 10;
i++;
generatedNum /= 10;
}
// compares the two arrays
for (k = 3; k >= 0; k--) {

for (j = 3; j >= 0; j--) {

if (generatedNumArray[k] == playerGuessArray[j]) {
score++;
playerGuessArray[j] = 0;
j = -5;
}
}
}

return score;
}

最佳答案

您在生成 playerGuessArray 和 generatedNumArray 时在 while 循环内分配 i = 0。因此 playerGuess 和 generatedNumArray 数组的元素为 first digit of your number 0 0 0 。将初始化移出循环。

关于C-比较两个四位数字数组的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59062980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com