急求一道c语言编程题

2024-11-22 09:26:04
推荐回答(3个)
回答1:

#include
void fun(int m)
{
char c;
if(m==0)
{

}
else
{
c=m%10+'0';
fun(m/10);
printf("%c",c);
}
}
void main()
{
int i;
char c;
printf("输入整数i:");
scanf("%d",&i);
c=i%10+'0';
fun(i/10);
printf("%c\n",c);
}

回答2:

#include
void fun()
{
char c;
scanf("%c",&c);
if(c=='\n')exit(0);
printf("%d",c-'0');
fun();
}
int main()
{
fun();

}

回答3:

#include
void main()
{
void c(long int m);
long int n;
printf("请输入一个任意整数\n");
scanf("%ld",&n);
printf("用递归法将其转换成字符串是:\n");
if(n<0) //考虑到输入可能为负数//
{putchar('-');
n*=-1; //先将负数转换成整数,以免在自定义的函数内再讨论//
}
c(n);
printf("\n");
}
void c(long int m)
{
long int x;
x=m/10;
if(x!=0) //递归的结束条件//
c(x);
putchar(m%10+'0'); // 字符0的ASCLL码是48,任意一个一位数加上48生成的//
} //ASCLL码对应的字符就是这个任意一位数本身了//