c++逆序输出问题(用递归函数)

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:12:39
编写递归函数,实现将参数x倒序输出。如x的值为:2345 调用函数 inverse(x) 在屏幕上输出5432,但是若输入900,应输出9
一楼的朋友,很感谢你的回答,但是std::语句我没学过,呵呵,看不懂~~,能不能换一种?

#include<stdio.h>
void inverse(int x)
{
if(x % 10) printf("%d",x % 10);
if(x > 10) inverse(x/10);
}

//---------------------------------------------------------------------------

#include <iostream>

using namespace std;/*这里以及先前程序中std::cout中的std是命名空间,在C++编程中必须要用到的,如果将iostream改为iostream.h,可以去掉这里的语句,因为头文件中已经声明命名空间了。*/

void inverse(int x,int n=0)
{
if (x&&!n&&x%10==0) inverse(x/10,n);
else if (x) {
cout<<x%10;
inverse(x/10,n+1);
}

}

int main(void)
{
inverse(900);
cout<<endl;
inverse(2345);
return 0;
}
//---------------------------------------------------------------------------

。*/

void inverse(int x,int n=0)
{
if (x&&!n&&x%10==0) inverse(x/10,n);
else if (x) {
cout<<x%10;
inverse(x/10,n+1);
}

}

int mai