多位数处理

本文详细介绍了如何解析一个不超过五位数的整数,包括确定其位数、逐位输出数字以及按照逆序输出各位数字的过程。通过实例代码演示了实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值