6-3 自然数的位数(递归版) (10分)
请编写函数,求自然数的位数。
函数原型
int NumDigit(int number);
说明:参数 number
为非负整数。函数值为 number
的位数。若 number
为零,则函数值为零。
裁判程序
#include <stdio.h>
int NumDigit(int number);
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", NumDigit(n));
return 0;
}
/* 你提交的代码将被嵌在这里 */
测试数据
输入样例 | 输出样例 |
---|---|
0 | 0 |
8 | 1 |
35184 | 5 |
2039476518 | 10 |
要求:不得使用循环语句。
int NumDigit(int number)
{
if(number==0)
{
return 0;
}
else if(number/10==0)
{
return 1;
}
else
{
return NumDigit(number/10)+1;
}
}