函数核心与灵感来源:
int f(int n)//此函数输出与输入数值同位数但首位为1其余各位均为零的参考数,可用于递归方法输出倒序数等问题
{
int i;
for (i = 10; n / i >= 10; i *= 10)//i每次变为原来的10倍
return i;//直到n/i的结果为个位数时,输出此时i的值
}
再度改进
int f(int n)
{
int i=10,s=2;
if (n >= 10)
{
for (i = 10; n / i >= 10; i *= 10)
{
s++;
}
return s;
}
else
return 1;
}
注:如不利用选择结构而是单纯的将s值定义为1,返回值结果不正确