请编写函数,求自然数的任意一位数字。
函数原型
int Digit(int number, int index);
说明:参数 number
为非负整数,index
为数位的索引号:个位编号为 0,十位编号为 1,百位编号为 2,...,以此类推。函数值为 number
的第 index
位数字。若 index
为负数,则函数值为 0。
裁判程序
#include <stdio.h>
int Digit(int number, int index);
int main()
{
int n, i;
scanf("%d%d", &n, &i);
printf("%d\n", Digit(n, i));
return 0;
}
/* 你提交的代码将被嵌在这里 */
测试数据
输入样例 | 输出样例 |
---|---|
0 0 | 0 |
35184 0 | 4 |
35184 1 | 8 |
35184 2 | 1 |
35184 3 | 5 |
35184 4 | 3 |
35184 5 | 0 |
35184 8 | 0 |
35184 -1 | 0 |
35184 3000000 | 0 |
要求:不得使用循环语句。
代码如下:
int Digit(int number, int index){
int s;
if(index<0 || number == 0)//首先写出限制条件
return 0;
if(index > 0){
s = Digit(number/10,index-1);//number每轮去掉尾数,index每轮减一进行递归
}
else if(index == 0){
s = number%10;//当index自减为0时,输出此时的尾数。
}
return s;
}