【c语言求改错】编制程序用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”

【c语言求改错】编制程序用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。 (我做的程序输入483,运行结果为384,不会调整顺序,求帮忙。。)

第1个回答  推荐于2016-07-21
void f(x)
{
if(x!=0)
f(x/10)
else
return

char c = x%10 + 48

printf("%c", c)

}追问

大神,输入123,运行结果为0123,怎么把那个0去掉。。

追答

还是采用字符串保存,然后逆序吧

追问

不会。。。因为字符串定义需要定义长度。题目中要求n为任意位数,不能规定长度。。。

追答

那我只能说呵呵了,你用int最大十几位数字,所以不存在字符串接受不了,定义1000大小的字符串已经顶天了,你能说int能接受100位的数字吗?所以要么是问题本身没有考虑,有么就是不用这么考虑

追问

→_→你太不理解学渣的痛苦了,来段源代码堵住我的嘴。。

本回答被提问者和网友采纳
第2个回答  2018-12-20
#include<stdio.h>
void invert(int a){
if(a==0) return;
invert(a/10);
int n;
n=a%10;
printf("%2d",n);
}
void main(){
int a;
scanf("%d",&a);
invert(a);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网