取数位
求1个整数的第k位数字有很多种方法。
以下的方法就是一种。
思路:看着道题目时,感觉有点看不懂的地方在于len()函数这个地方,起初不明白return len(x/10)+1;+1这个坎儿,后来想明白了,+1是为了计算这个数有多少位,然后return 数字的位数,才能在f函数中做进一步的判断,当前位数是否是要输出的位数,如果是要输出的位数的话,就把这一位数字取出来输出即可。
int len(int x){
if(x<10) return 1;
return len(x/10)+1;
}
int f(int x, int k){
if(len(x)-k==0) return x%10;
return _____________________; //填空
}
int main()
{
int x = 23574;
printf("%d\n", f(x,3));
return 0;
}
答案:
f(x/10,k)