gpt4 book ai didi

c - 是否可以从整数中删除数字?

转载 作者:行者123 更新时间:2023-11-30 16:41:15 25 4
gpt4 key购买 nike

是否可以从整数中删除数字?
例如,如果我想删除所有123658 中的偶数,并留下
第135章 我怎么能这么做?

这是一个赋值操作,我不能使用数组、字符变量或 Math.h 函数。

这是我到目前为止编写的代码

uint32_t phaseInt(uint32_t N, enum ProcessChoice Choice) {

uint32_t phaseInt = 0;
uint32_t tempVar = N;

if (tempVar == 0){
phaseInt = 0;
}
if (tempVar != 0 && Choice == Even){
while(tempVar != 0)
{
tempVar % 10;
tempVar /= 10;
if ( tempVar % 2 == 0)
{
doSomeAction(tempVar);
}
}

}

最佳答案

我认为没有必要在这里使用递归,它只会使事情变得复杂 - 虽然感觉很好 -,您可以使用带有 if 语句的简单 while 循环:

int digit,input,output = 0,currentFactor=1;
//read input
while(input!=0)
{
digit = input % 10; //read digit
input = input / 10; //remove digit from input

if(digit % 2 == 1) //if digit is odd
{
output += digit*currentFactor; //add digit to output at the position determined by factor
currentFactor *= 10; //move the position by one digit (multiply factor by 10)
}
}
return output;

关于c - 是否可以从整数中删除数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46334083/

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