C语言,用递归法并通过函数调用方法将一个整数换成字符串,如整数123对应的字符串为“123”
展开全部
#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--;
}
}
int n=-1
void copy(int i,char x[])
{
if(i<10)
x[i]=i+48;
else
{
n++;
copy(i/10,x);
n--;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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));
}
#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));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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函数即可 递归效率很低 编程极力不推荐!
{
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函数即可 递归效率很低 编程极力不推荐!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询