开发者社区> 问答> 正文

用递归算法写程序,输入一个非负整数,输出这个数的倒序数。例如输入123,输出321。

用递归算法写程序,输入一个非负整数,输出这个数的倒序数。例如输入123,输出321。

展开
收起
知与谁同 2018-07-15 17:58:37 6043 0
2 条回答
写回答
取消 提交回答
  • 社区管理员
    我直接写出最重要的把,只写子程序好了。
    3:
    procedure f(x,s:longint);
    begin
    if x=0 then begin writeln(s);exit;end;
    f(x div 10,s*10+x mod 10);
    end;
    主程序中: f(x,0);(x是要颠倒的数);

    6:
    procedure f(x,s,t:longint);
    begin
    if t=0 then begin writeln(s);exit;end;(我直接用颠倒数字,为了防止最后的零不输出,我就设定了位数)
    f(x div 10,s*10+x mod 10,t-1);
    end;
    procedure f1(x,s:longint);
    var
    t:longint;
    begin
    if x=0 then begin f(s,0,t);end;
    t:=t+1;
    f(x div m,s*10+(x mod m));
    end;

    主程序中:readln(m);(进制);f1(x,0);(x是要换进制的数);
    如果用数组的话可以更好一点,我这样直接
    2019-07-17 22:54:54
    赞同 展开评论 打赏
  • Nothing for nothing.
    #include "stdio.h"
    void print(int x)
    {
    printf("%d",x%10);
    if(x>=10)
    print(x/10);
    }

    void main()
    {
    int n;
    scanf("%d",&n);
    print(n);
    printf("\n");
    }
    2019-07-17 22:54:53
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载