从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。例如:当s中的数为:7654321时,t中的数为:7531。在主函数中输入数s,编写一个函数实现题目要求的功能,将构成的新数返回主函数输出。h
时间: 2023-12-26 15:05:28 浏览: 83
C语言程序设计-从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中;
5星 · 资源好评率100%
好的,我理解了你的问题。以下是实现题目要求的函数的代码(使用 C++ 编写):
```cpp
long long extractOddDigits(long long s) {
long long t = 0, pow10 = 1;
while (s > 0) {
t += pow10 * (s % 10);
s /= 100;
pow10 *= 10;
}
return t;
}
```
在这个函数中,我们使用了一个 while 循环,每次从 s 中取出最后两位。如果这两位是奇数位上的数,就将它们构成一个新的数加到 t 中。为了方便构造新数,我们使用了一个变量 pow10 来记录当前位的权值,每次循环时乘以 10。最后返回构造出来的新数 t。
注意,如果 s 的位数是偶数,那么最后一次循环时 s 会变成 0,此时循环结束,函数返回的结果就是构造出来的新数 t。如果 s 的位数是奇数,那么最后一次循环时 s 会变成一个只有一位的数,这个数不会被处理,但也不影响结果的正确性。
阅读全文