c语言:将递归的方法将一个正整数逆序输出

 我来答
四舍五不入6
高粉答主

2020-03-22 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2万
展开全部

可以参考下面的代码:

#include <stdio.h>

#include <stdlib.h>

void print_order_number(unsigned number)

{

printf("%d",number%10);fflush(NULL);

if ( number >= 10 )

{

print_order_number(number/10);

}

}

int main(int argc, char**argv)

{

if ( argc != 2 )

{

printf("Usage: rev_print <integer> \n");

exit(0);

}

unsigned number = atol(argv[1]);

print_order_number(number);

return 0;

}

扩展资料:

printf函数定义

函数声明

int printf(char *format...);

调用格式

printf("<格式化字符串>", <参量表>);

格式化字符串包含三种对象,分别为:

1、字符串常量;

2、格式控制字符串;

3、转义字符。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

参考资料来源:百度百科-printf

参考资料来源:百度百科-递归函数

tattackor
推荐于2017-09-14 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:863万
展开全部
  1. 算法:递归函数传入正整数,先输出最末尾数字,再除以10用递归函数继续迭代,直到该正整数为0时终止递归。

  2. 例程:

    #include<stdio.h>
    void rev(int n){
       if(n > 0) {            //判断该数是否大于0
           printf("%d", n%10); //输出末位数值
           rev(n/10);        //递归迭代整除10后的剩余值
       }
    }
    int main(){
       rev(1234);        //样例输入1234
       return 0;
    }
    //样例输出 4321
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiconysun
推荐于2017-09-25 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2504万
展开全部
#include <stdio.h>

void Reverse(unsigned int n)
{
if (n != 0)
{
printf("%u", n % 10);
Reverse(n / 10);
}
}

int main()
{
unsigned int x;
printf("Please input:");
scanf("%u", &x);
Reverse(x);
printf("\n");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式