5、输入一个数,将这个数的奇数位重新组合成一个数,其中高位数依然处于高位,
低位数处于低位。
实例: input:345389
output:439
int Getnum(int input, int output)
{
}
void main()
{
}
scanf("%d",&input)
:如果入力的数字不在INT_MIN到INT_MAX (-2^31 (-2,147,483,648) ~ 2^31-1 (2,147,483,647)
)之间,scanf会自动转化入力数字到这个范围内。int Getnum(int input, int output)
:题目给出的函数原型第二个参数是int型,是一个值传递的参数,是没办法把计算几个传递出来的。那么只能通过返回值将结果传出来了。- 看题目的实例,发现奇数位的计算是从低位开始的。因此考虑使用
input%10
的方式依次从低位开始取出奇数位,这其中要注意两点,第一,每取出一次奇数位,下一个奇数位的单位应当进十(unit *= 10;
)。第二,入力只有一位的情况和入力的最高位需要单独考虑。 - 需要考虑正数和负数的情况。