Problem Description
输入一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
Input
输入一个不多于5位的正整数。
Output
输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
Sample Input
123
Sample Output
3
1 2 3
3 2 1
#include<iostream>
using namespace std;
int main()
{
int i,a[5],x,t,count=0;
cin>>x;
t=x;
if(t==0) count=1;
else
while(t!=0)
{
t=t/10;
count++;
}
cout<<count<<endl;
for(i=0;i<count;i++)
{
a[i]=x%10;
x=x/10;
}
for(i=count-1;i>0;i--) cout<<a[i]<<" ";
cout<<a[0]<<endl;//目的是不让每一行最后一位之后输出空格
for(i=0;i<count-1;i++) cout<<a[i]<<" ";
cout<<a[count-1];
return 0;//总的来说,此代码可以继续优化
}