数字输出多位数处理

在写这篇文章之前,xxx已经写过了几篇关于改数字输出主题的文章,想要了解的朋友可以去翻一下之前的文章

    每日一道理
正所谓“学海无涯”。我们正像一群群鱼儿在茫茫的知识之海中跳跃、 嬉戏,在知识之海中出生、成长、生活。我们离不开这维持生活的“海水”,如果跳出这个“海洋”,到“陆地”上去生活,我们就会被无情的“太阳”晒死。
/*
Description
给出一个不多于5位的整数,求要 1、求出它是几位数 2、别分输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

Input
一个不大于5位的数字

Output
三行第一行 位数第二行 用格空离开的每一个数字,注意最后一个数字后没有格空第三行 按逆序输出这个数

Sample Input
12345
Sample Output
5
1 2 3 4 5
54321
*/
#include <iostream>
#include <string>
using namespace std;
int  main()
{
	int n,a,b,c,d,e;
	cin>>n;
	if(n>=10000)
	{
		a=n/10000;
		b=(n-a*10000)/1000;
		c=(n-a*10000-b*1000)/100;
		d=(n-a*10000-b*1000-c*100)/10;
		e=n%10;
		cout<<5<<endl<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl;
		cout<<e<<d<<c<<b<<a<<endl;
	}
	else
	{
		if(n>=1000)
		{
			a=n/1000;
			b=(n=a*1000)/100;
			c=(n-a*1000-b*100)/10;
			d=n%10;
			cout<<4<<endl<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<endl;
			cout<<d<<c<<b<<a<<endl;
		}
		else
		{
			if(n>=100)
			{
				a=n/100;
				b=(n-a*100)/10;
				c=n%10;
				cout<<3<<endl<<a<<" "<<b<<" "<<c<<endl;
				cout<<c<<b<<a<<endl;
			}
			else
			{
				if(n>=10)
				{
					a=n/10;
					b=n%10;
					cout<<2<<endl<<a<<" "<<b<<endl;
					cout<<b<<a<<endl;
				}
				else
				{
					cout<<1<<endl<<n<<endl;
					cout<<n<<endl;
				}
			}
		}
	}
	return 0;
}

文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3036510.html