试题 算法训练 递归输出数字

试题 算法训练 递归输出数字,第1张

试题 算法训练 递归输出数字 资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

写一个递归程序,输入一个整数,按从高位到低位的顺序输出其所有数字,每两个数字中间用空格格开。例如,输入整数12345,输出1 2 3 4 5。请进一步思考如何修改程序,才能输出数字取反后的整数,即在上例中输出整数54321。注意这里的进一步思考仅供个人练习,不要提交到作业程序中,即最后的结果不要输出54321,否则自动判题程序会出错

输入格式

输入一个整数n(1<=n<=100000)

输出格式

按从高位到低位的顺序输出其所有数字,每两个数字中间用空格隔开(最后多一个空格也没关系)

样例输入

54321

样例输出

5 4 3 2 1

代码

#include 

using namespace std;

int n;

void dfs(int n) {
	if (n / 10 == 0) printf("%d ", n);
	else {
		dfs(n / 10);
		printf("%d ", n % 10);
	}
}

int main() {
	scanf("%d", &n);
	
	dfs(n);
	
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3970415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存