gpt4 book ai didi

c - 我的自分检查功能没有按预期工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:37:09 25 4
gpt4 key购买 nike

我得到一个数组作为输入,我必须重建一个新数组,其中包含所有自除整数(并且不包含数字零)。除了一个特定的整数 21,它可以正常工作。

这是一个编码问题。我试过的效果非常好。

int IsSelfDividing(int number)
{
int tmp = number;
while (tmp > 0)
{
tmp %= 10;
if(tmp == 0 || (number % tmp) > 0)
return 0;
tmp /= 10;
}
return 1;

//This approach works, but I don't understand why
/*
int x = number;
while (x > 0) {
int d = x % 10;
x /= 10;
if (d == 0 || (number % d) > 0) return 0;
}
return 1;
*/
}

当我输入“21”作为函数 IsSelfDividing 的参数时,我希望输出为 0。

最佳答案

    tmp %= 10;

这不起作用,因为您正试图将 tmp 用作单个变量来保存两件事。 Temp 现在包含正在处理的号码的当前数字。向下,tmp/= 10; 正在等你,需要所有剩余的数字。

第二个版本之所以有效,是因为它引入了一个新变量 dint d = x % 10; 来包含当前数字。

关于c - 我的自分检查功能没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57031547/

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