输入一个整形n,用递归方法转换为字符串;如输入整形2003,输出字符串“2003”
c语言 递归数字转换为字符串
答案:3 悬赏:70 手机版
解决时间 2021-04-22 15:15
- 提问者网友:兔牙战士
- 2021-04-21 19:14
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-04-21 20:47
#include "stdio.h"
#include "string.h"
#define _LEN 50
void Trans(int n,char *str);
void main()
{
char resualt[_LEN] ;
int num;
scanf("%d",&num);
Trans(num,resualt);
for(num=strlen(resualt)-1;num>=0;num--)
printf("%c",resualt[num]);
printf("\n");
}
void Trans(int n,char *str)
{
if(n==0)
{
*str=0;
return;
}
*str=n%10+'0';
Trans(n/10,++str);
}
全部回答
- 1楼网友:一袍清酒付
- 2021-04-21 22:33
#include"stdio.h" char a[51]; void fuc(int n,int i) { a[i]=n%10+'0'; n/=10; i--; if(n) fuc(n,i); }
int main() { int n,i=50,j; scanf("%d",&n); fuc(n,i); for(j=0;j<=50;j++) if(a[j]) printf("%c",a[j]); return 0; }
- 2楼网友:渡鹤影
- 2021-04-21 20:56
楼上写得很不错,不过他疏忽了一些细节。就是字符串以‘\0’结尾,另运行他的程序不能得到预期的结果。如输入2003得到的结果却是"300200…000"。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯