请编写递归函数,求自然数的最高位数字。
函数原型
int TopDigit(int number);
说明:参数 number
为非负整数,函数值为最高位数字。若 number
为零,则函数值为零。
裁判程序
#include <stdio.h>
int TopDigit(int number);
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", TopDigit(n));
return 0;
}
/* 你提交的代码将被嵌在这里 */
测试数据
输入样例 | 输出样例 |
---|---|
0 | 0 |
48 | 4 |
953 | 9 |
2715 | 2 |
76201 | 7 |
要求:不得使用循环语句。
代码如下:
int TopDigit(int number)
{
if(number==0)//设置断点
return 0;
else if(number<=9)//由题意得出number第一位,即0~9;
return number;
return TopDigit(number/10);//递归number/10直到number<10;
}