第1个回答 2013-05-30
#include"stdio.h"
//一次性的函数,此函数只能调用一次有效,较为简单
int fun(int a)
{
static int b = 0;
b = b * 10;
b += a % 10;
if (a / 10 != 0)
fun(a / 10);
return b;
}
//多次重入有效,稍复杂一点
#include"stdio.h"
int fun(int a)
{
int b, c;
if (a / 10 == 0)
return a;
else {
b = fun(a / 10);
c = a % 10; //将当前最低位向上移动到最高位
for (int i = a / 10; i > 0; i = i / 10)
c = 10 * c;
}
return b + c;
}
void main()
{
int a;
scanf("%d",&a);
printf("%d\n",fun(a));
}
第2个回答 推荐于2017-09-27
#include"stdio.h"
int fun(int c,int a)
{
if (a==0)
return c;
int b=a%10;
return fun(c*10+b,a/10);
}
void main()
{
int a;
scanf("%d",&a);
printf("%d\n",fun(0,a));
}本回答被提问者采纳
第3个回答 2017-09-27
void fun(int a) { if ( a ) { printf("%d",a%10); fun(a/10); } }
void main() { int n;
scanf("%d",&n);
fun(n);
}
第4个回答 2013-05-30
#include"stdio.h"
//一次性的函数,此函数只能调用一次有效,较为简单
int fun(int a)
{
static int b = 0;
b = b * 10;
b += a % 10;
if (a / 10 != 0)
fun(a / 10);
return b;
}
//多次重入有效,稍复杂一点
#include"stdio.h"
int fun(int a)
{
int b, c;
if (a / 10 == 0)
return a;
else {
b = fun(a / 10);
c = a % 10; //将当前最低位向上移动到最高位
for (int i = a / 10; i > 0; i = i / 10)
c = 10 * c;
}
return b + c;
}
void main()
{
int a;
scanf("%d",&a);
printf("%d\n",fun(a));
}
第5个回答 推荐于2017-09-27
#include"stdio.h"
int fun(int c,int a)
{
if (a==0)
return c;
int b=a%10;
return fun(c*10+b,a/10);
}
void main()
{
int a;
scanf("%d",&a);
printf("%d\n",fun(0,a));
}本回答被提问者采纳
第6个回答 2017-09-27
void fun(int a) { if ( a ) { printf("%d",a%10); fun(a/10); } }
void main() { int n;
scanf("%d",&n);
fun(n);
}