c语言:将递归的方法将一个正整数逆序输出
可以参考下面的代码:
#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
参考资料来源:百度百科-递归函数
算法:递归函数传入正整数,先输出最末尾数字,再除以10用递归函数继续迭代,直到该正整数为0时终止递归。
例程:
#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
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;
}