|  | 
 
 发表于 2022-3-10 16:13:31
|
显示全部楼层
   本楼为最佳答案 
| 本帖最后由 jackz007 于 2022-3-10 19:09 编辑 
 复制代码#include <stdio.h>
int foo(int d[] , int n , int c)
{
        int r                                                                                      ;
        r = c                                                                                      ;
        if(n) {
                r = foo(d , n / 10 , c + 1)                                                        ;
                d[r - c - 1] = n % 10                                                              ;
        } 
        return r                                                                                   ;
}
int main(void)
{
        int d[20] , n , m                                                                          ;
        printf("请输入一个数字 : ")                                                                ;
        scanf("%d" , & n)                                                                          ;
        m = foo(d , n , 0)                                                                         ;
        printf("数字 %d 的百十个位数依次为 : %d , %d , %d\n" , n , d[m - 3] , d[m - 2] , d[m - 1]) ;
}
编译、运行实况:
 
 复制代码D:\[00.Exerciese.2022]\C>g++ -o x x.c
D:\[00.Exerciese.2022]\C>x
请输入一个数字 : 135246
数字 135246 的百十个位数依次为 : 2 , 4 , 6
D:\[00.Exerciese.2022]\C>
 | 
 |