逆序数

来源:互联网 发布:磨刀机数控软件破解 编辑:程序博客网 时间:2024/04/29 06:13
Description

给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字3、按逆序输出各位数字,例如原数为321,应输出123

Input

一个不大于5位的数字

Output

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

Sample Input

12345

Sample Output

51 2 3 4 554321

程序如下:

#include<iostream>
using  namespace std;
int main()
  
  long  int n,p;
  int a,b,c,d,e;
   cin>>n;
   if(n>9999)
    p=5;
    elseif(n>999)
    p=4;
    elseif(n>99)
    p=3;
    else if(n>9)
    p=2;
    elsep=1;
   cout<<p<<endl;

   a=(int)n/10000;
   b=(int)(n-a*10000)/1000;
   c=(int)(n-a*10000-b*1000)/100;
   d=(int)(n-a*10000-b*1000-c*100)/10;
      e=(int)(n-a*10000-b*1000-c*100-d*10);
    
   switch(p)
    {
    case5:   cout<<a<<""<<b<<""<<c<<""<<d<<""<<e<<endl;
              cout<<e<<d<<c<<b<<a<<endl;break;
    case4:   cout<<b<<""<<c<<""<<d<<""<<e<<endl;
                   cout<<e<<d<<c<<b<<endl; break;
    case3:  cout<<c<<""<<d<<""<<e<<endl;
                  cout<<e<<d<<c<<endl;break;
    case2:   cout<<d<<""<<e<<endl;
             cout<<e<<d<<endl;break;
    case1:   cout<<e<<endl;
           cout<<e<<endl;break;
    }

}

0 0
原创粉丝点击