C语言,用递归法并通过函数调用方法将一个整数换成字符串,如整数123对应的字符串为“123”

 我来答
ghj123h
2010-11-30 · TA获得超过2560个赞
知道小有建树答主
回答量:1792
采纳率:0%
帮助的人:384万
展开全部
#include<stdio.h>
int n=-1
void copy(int i,char x[])
{
if(i<10)
x[i]=i+48;
else
{
n++;
copy(i/10,x);
n--;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
serenesunny
2010-11-30 · TA获得超过5699个赞
知道小有建树答主
回答量:774
采纳率:0%
帮助的人:595万
展开全部
#include <stdio.h>
#include <math.h>

double length(char *s)
{
double len = 0;
while(*s++ != '\0') len++;
return len;
}

double number(double n, char *s)
{
if(*s == '\0')
{
return n;
}
else
{
n = n + (*s - '0')*pow(10,length(s) - 1);
s++;
return number(n,s);
}
}

void main()
{
char *s = "12345";
double n = 0;
printf("%.0lf\n", number(n,s));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友53684a18b
推荐于2017-12-16 · TA获得超过144个赞
知道答主
回答量:146
采纳率:0%
帮助的人:0
展开全部
void append(char *s, char c)
{
int i;
for(i = 0; s[i]; i++);
s[i++] = c;
s[i] = '\0';
}

void _trans(int a, char *s)
{
int tmp;
if(a == 0)
return;
tmp = a%10;
tmp += 48;
_trans(a/10, s);
append(s, (char)tmp);
}

void trans(int a, char *s)
{
s[0] = '\0';
_trans(a, s);
}

只调用trans函数即可 递归效率很低 编程极力不推荐!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式