lamer精粹水有酒精吗:编写具有如下原型的函数:int f(unsigned long x, int n, int& Lxn);

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 03:50:50
它负责将整数x的第n位(从左边数第n位,n>0)的数值放到引用Lxn之中(将作为结果返回到主调函数的对应实参变量中),并将倒数第n位(从右边数第n位,n>0)的数值作为函数结果返回去。并编制主函数对它进行调用以验证其正确性。
例如,当x=123456789,n=7时,执行语句“Rxn=f(x, n, Lxn);”将使返回的Lxn为7,并使Rxn变为3;而执行语句“Rxn=f(12345, 6, Lxn);”将使Lxn与Rxn都变为为0(超出数的“长度”即总位数时返回0)

只给核心算法:
提取自右向左数的第n位用表达式:
x / pow(10, n - 1) % 10
也就是x除以10的n-1次方,再取对10的余数。如
18872387的第4位是2,就是
18872387 / pow(10, 4 - 1) % 10
= 18872387 / 1000 % 10
= 18872 % 10
= 2