首页 > 代码库 > 谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。
谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。
8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。
#include <stdio.h>
char str1[20];
int i=0;
long n;
int main(){
int longToStr(long n);
char *revstr(char *str, int len);
printf("请输入一个整数n:\n");
scanf("%ld",&n);
char *p;
longToStr(n);
p=revstr(str1, i);
*(p+i)=‘\0‘;
printf("输出的字符串为:\n");
puts(p);
return 0;
}
//字符串翻转函数
char *revstr(char *str, int len)
{
char * start = str;
char * end = str + len - 1;
char ch;
if (str != NULL)
{
while (start < end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
}
return str;
}
int longToStr(long n){
int a = (int)(n%10);
str1[i++]=a+48;
if(n-a!=0)
{
n=(n-a)/10;
longToStr(n);
}
else {str1[i]=‘\0‘;
return 0;
}
}
conclusion:
谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。