C语言用递归法将一个整数N转换成字符串求解析!!!!!!急啊!!!!!!

 我来答
百度网友55a4422
2012-10-03 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:115万
展开全部
#include<stdio.h>
void reversal(char str[], int length){ //反转
int i;
for(i=0; i<length/2; i++){
char temp = str[i];
str[i] = str[length-i-1];
str[length-i-1] = temp;
}
}
void itos(int n, char str[], int i){ //递归
if(n==0){
str[i] = '\0';
reversal(str,i);
return;
}
str[i++] = n%10+48;
itos(n/10,str,i);
}
int main(void)
{
int n, i = 0;
char str[100];
printf("输入一个整数:");
scanf("%d",&n);
itos(n,str,i);
printf("转化为字符串输出:");
printf("%s\n",str);
return 0;
}
zyq_107
2012-10-03 · TA获得超过901个赞
知道小有建树答主
回答量:440
采纳率:100%
帮助的人:476万
展开全部
#include<stdio.h>
void f(int n,char a[])
{
static int i=0;
if(n!=0)
{
a[i++]=n%10+'0';
f(n/10,a);
}
return;
}
int main()
{
int n,i=0,l,j;
char a[80]={0},t;
scanf("%d",&n);
f(n,a);
l=strlen(a);
j=l/2;
for(i=0,l--;i<j;i++,l--)
{
t=a[i];
a[i]=a[l];
a[l]=t;
}
puts(a);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wsylwyj123
2012-10-03
知道答主
回答量:22
采纳率:0%
帮助的人:23.4万
展开全部
你不会用sprintf和sscanf吗= = 这样好麻烦 不过如果你要用递归的话就是各个取位数之后加上‘0’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
越界部落
2017-10-16
知道答主
回答量:1
采纳率:0%
帮助的人:968
展开全部
  1. #include<stdio.h>

  2. int main()

  3. {

  4. int convert(int n);

  5. int n;

  6. scanf("%d",&n);

  7. if(n < 0){

  8. printf("-");

  9. printf(" ");

  10. n = - n;

  11. }

  12. convert(n);

  13. return 0;

  14. }

  15. int convert(int n)

  16. {

  17. int i = n / 10;

  18. if(i != 0){

  19. convert (i);

  20. }

  21. putchar(n % 10 + '0');//printf("%c ",n % 10 + '0');

  22. putchar(' '); //putchar(32);

  23. }

  24. 不需要那么复杂的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zls4r
2012-10-03
知道答主
回答量:20
采纳率:0%
帮助的人:23.4万
展开全部
#include<stdio.h>
void f(int n,char a[])
{
static int i=0;
if(n!=0)
{
a[i++]=n%10+'0';
f(n/10,a);
}
return;
}//递归
int main()
{
int n,i=0,l,j;
char a[80]={0},t;
scanf("%d",&n);
f(n,a);
l=strlen(a);
j=l/2;
for(i=0,l--;i<j;i++,l--)
{
t=a[i];
a[i]=a[l];
a[l]=t;
}
puts(a);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式