一个简单的c++编程题

来源:百度知道 编辑:UC知道 时间:2024/05/25 06:17:22
13. 编写具有如下原型的函数:int f(unsigned long x, int n, int& Lxn);
它负责将整数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)。

while(x)
{temp = x%10;
x/=10;
}
在上述过程中能把x的每一位取出来到temp中,只需要定义一个数组(STL中用vector<int>就行),然后得到数组中有效的数据的长度l,如果n大于l返回0,否则,从数组中查找到第n个数(注意数组是倒序还是顺序)

转为字符也可以做!