麦浪佛罗 2023-11-16 22:31 采纳率: 90.5%
浏览 3
已结题

递归 如何将一个123按顺序123输出

我要输入一串数,用递归,按照这个代码输入123 输出321;但我记不清了上课teacher好像变了哈printf的位置还是咋的让输入123输出还是123,这个咋个用递归按原顺序输入;还有if里面return 0;代表啥返回上一函数,还是就是结束此函数我return 1的行不。几乎所有递归都可以用循环写出来是不是??循环效率是不是更高些


#include<stdio.h>
int roprop(int x)
{
    if(x<10)
    {
        printf("%d",x);
        return 0;
    }
            printf("%d",x%10);
            return roprop(x/=10);
        //    printf("%d",x%10);        
}
int main()
{
    int x,y;
    scanf("%d",&x);
    roprop(x);
    return 0;
 } 
  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-16 22:39
    关注
    
    
    #include <stdio.h>
    void roprop(int x) //用递归输出,不用返回
    {
      if (x == 0) //==0时退出
        return;
      printf("%d", x % 10); //输出个位
      roprop(x / 10);       //直接调用就可以了
    }
    int main()
    {
      int x; //,y;这个y没用
      scanf("%d", &x);
      roprop(x);
      return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 修改了问题 11月16日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 github录制项目
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 如何解决调试dev-出++5.11不成功问题
  • ¥15 安装CentOS6时卡住
  • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。