用C++编写一个递归函数将一个整数n转换成相应的字符串

#include<iostream>usingnamespacestd;intmain(){inta;cin>>a;intzhishu(int);charf(int);f... #include<iostream>
using namespace std;
int main()
{int a;
cin>>a;
int zhishu(int);
char f(int);
f(a);
cout<<'\n';
return 0;
}
int zhishu(int n)
{if(n)
{n-=1;
return 10*zhishu(n);}
if(n==0)
return 1;
}
char f(int n)
{int p=0;
while(n)
{n=n/10;
p++;}
cout<<char(n/zhishu(p-1)+48);
n=n-(n/zhishu(p-1))*zhishu(p-1);
if(n)
return f(n);

我输出的是0,为什么,哪里错了,怎么改啊
展开
 我来答
濮方雅BX
推荐于2016-02-05 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2464万
展开全部

zhishu这个函数没什么意义啊

char f(int n )
{
    int m=n/10;
    char c= n%10 + '0';
    if(m)
     cout<<f(n/10)<<c;
    else
       return(c);
         
     
         
  }
更多追问追答
追问
其实zhishu的意思是10的多少次方,我的意思是比如345就%10的平方,就是zhishu(2),
不对啊,我输入345,
输出的是34p5,你可以运行试一下
追答

给你个完整的程序:

#include <iostream>
using namespace std;
void f(int n );

int main() {
int n;
   cin>>n;
   f(n);
return 0;
}

void f(int n)
{
    int m=n/10;
    char c= n%10 + '0';
    if(m)
{  f(m); cout<<c;}
    else
     cout<<(c);
  }
kaixingui2012
2014-12-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6415万
展开全部
将一个整数n转换成相应的字符串
题目是什么意思?
举个例子,方便检查程序
更多追问追答
追问
就是比如一个int a=345;
变成char a="345";
追答
#include
#include
using namespace std;
int main()
{
int a;
cin>>a;
char s[20];
sprintf(s, "%d", a );
cout << s <<endl ;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式