递归分治--逆序/正序输出正数
程序员文章站
2022-03-22 16:42:29
...
题目描述:例如,对于数12345,依次输出5 4 3 2 1
分析:如果n/10==0,则输出n;否则 输出n%10,然后,对n/10进行相同处理
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <string.h>
using namespace std;
/*逆序输出正数*/
void f(int a){
if(a<10) cout<<a;
else{
cout<<a%10<<" ";
f(a/10);
}
}
int main()
{
int a;
cin>>a;
f(a);
return 0;
}
正序输出:12345,输出1 2 3 4 5
分析:
如果n/10==0,则输出n;否则 先对n/10进行相同处理之后,cout<<n%10;
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <string.h>
using namespace std;
/*正序输出正数*/
void f(int a){
if(a/10==0) cout<<a<<" ";
else{
f(a/10);
cout<<a%10<<" ";
}
}
int main()
{
int a;
cin>>a;
f(a);
return 0;
}