第一题

题目描述

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

输入要求

一个不大于5位的数字

输出要求

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

#include<stdio.h>
#include<math.h>
int main()
{
 long int x;
 int g,s,b,q,w;
 int n;
    scanf("%ld",&x);
 if(x>9999)     
  n=5;
 else if(x>999)      
  n=4;     
 else if(x>99)  
  n=3;  
 else if(x>9)   
  n=2;     
 else   
  n=1;
 printf("%d ",n); 
 w=x/10000;  
 q=x%10000/1000; 
 b=x%10000%1000/100;  
 s=x%10000%1000%100/10; 
 g=x%10000%1000%100%10;
 if(w!=0) 
 {
  printf("%d %d %d %d %d ",w,q,b,s,g);
  printf("%d%d%d%d%d",g,s,b,q,w);
} else if(q!=0)    
 {printf("%d %d %d %d ",q,b,s,g);
printf("%d%d%d%d",g,s,b,q);
}else if(b!=0)      
{printf("%d %d %d ",b,s,g);
printf("%d%d%d",g,s,b);}  
else if(s!=0)     
{ printf("%d %d ",s,g);
printf("%d%d",g,s);}      
else     
{ printf("%d ",g);
printf("%d",g);
}
return 0;
}

原文地址:https://www.cnblogs.com/2013djj/p/3464619.html