编写一个递归函数,实现将任意正整数按反序输出,如输入12345,输出54321

如题所述

第1个回答  2015-05-26
void f(int x)
{
if(x/10==0)
printf("%d",x);
else
{
printf("%3d",x%10);
x/=10;
f(x);
}本回答被网友采纳

...正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语 ...
分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。a = num % 10 就是输出数字的最后一位 然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。

...将输入小于32768的整数按逆序输出。如输入12345,则输出54321。_百度...
要实现将输入小于32768的整数按逆序输出,可以使用递归的方法。递归函数的基本结构如下:①读取输入整数n;②计算个位m%10;③删除个位并递归调用自身,即m\/10;④判断是否还有剩余位,若m!=0则继续;⑤当m为0时,返回结果r(m)。输入如12345时,首先通过m=scanf(%d,n)获取整数,这里答案是n。接着...

...如输入一个字符串12345,输出为54321 c语言程序,谢啦
include<stdio.h> include<string.h> void reverse(char *s,int length){ if(length==1){ printf("%c",s[0]);}else{ reverse(&s[1],length-1);reverse(&s[0],1);} } void main(){ char input[]="1720470234";puts(input);int l=strlen(input);reverse(input,l);printf("\\n"...

...将输入小于32768的整数按逆序输出。如输入12345,则输出54321。_百度...
由于是逆序输出,所以当“12345”传到r函数时,先输出个位,通过12345%10得到个位,所以第二处的答案是:m%10。由于已经把个位输出,所以要把变量的个位进行去掉,通过除以10去掉个位,故第三空的答案是:m\/10。删除变量最后一位的数字后,需要判断是否为0,如果为0就不需要计算,直接返回结果,所以第...

...将输入小于32768的整数按逆序输出。如输入12345,则输出54321。_百度...
由于是逆序输出,所以当“12345”传到r函数时,先输出个位,通过12345%10得到个位,所以第二处的答案是:m%10。由于已经把个位输出,所以要把变量的个位进行去掉,通过除以10去掉个位,故第三空的答案是:m\/10。删除变量最后一位的数字后,需要判断是否为0,如果为0就不需要计算,直接返回结果,所以第...

...逆序输出每一位上的数 如输入54321 输出12345 要代码
p++;}\/* 程序的输出顺序为 10 -> 8 -> 6 -> 4 -> 2 递归步骤解释 1: 第一次执行ser函数,numbser = 12345判断数字大于9,将int(1234)再次执行函数 ps: (int)\/(int) 结果为int 2: 待执行ser函数后,输出结果个位数 12345 % 10 = 5 3: 第二次执行ser函数...类比步骤1 4: 待...

C语言递归;输出结果12345 54321,问:54321怎么解释,求解?
这个就是函数的递归了。在函数内调用本身。思路如下;首先是a=1进入f(a),然后在f(a)中迭代自己,不过参数传入(a+1)也就是2,一直往下迭代,直至a=6,迭代进行不下去,执行上一层迭代没有执行完的代码,也就是输出a=5,4,3,2,1的代码,最终的结果也就如您所示的样子。要是还不明白,就直接...

栈的输入序列是12345,输出序列只有一种吗?
一个栈的输入序列是12345,则栈的输出序列只有一种为54321。栈作为一种数据结构,只能在一端进行插入和删除操作。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。因此,一个栈的输入序列是12345,栈...

c语言问题 为什么输出来是12345 而不是54321
4)中继续执行if后的printf("4 "), 返回fun(5)--> 在fun(5)中继续执行if后的printf("5 "), 返回main();如果希望从大到小输出,建议把fun()函数的输出命令放到递归调用之前,即先输出,再减值递归调用,如下:void fun(int a){ printf("%d ",a); if(a>1)fun(a-1);} ...

c++语言编程将输入的正整数按反序输出,例如:输入123,则输出321。
include "iostream.h"void main(){ long n,m;cout<<"请输入任意整数";cin>>n;do { m=n%10; cout<<m; n\/=10;} while(n);} 方法二:递归函数 void fan(int n){ if(!n)return;cout<<n%10;fan(n\/10);} ...

相似回答