若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1029: 多位数的处理

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,535

题目描述

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

输入

一个不大于5位的数字

输出

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

样例输入

12345

样例输出

5
1 2 3 4 5
54321

参考代码

#include <stdio.h>
int main() 
{
    int x,a,b,c,d,e,n,j;
    scanf("%d",&x);
    a=x/10000;
    b=x/1000-a*10;
    c=x/100-a*100-b*10;
    d=x/10-a*1000-b*100-c*10;
    e=x-a*10000-b*1000-c*100-d*10;
    if(a!=0)n=5; else if(a==0 && b!=0)n=4; else if(a==0 && b==0 && c!=0)n=3; else if(a==0 && b==0 && c==0 && d!=0)n=2; else n=1;
    if(a>9)printf("输入的数大于5位!n");
else{if(n==1) printf("%d %dn",n,e);
else if(n==2) printf("%d %d %dn",n,d,e);
else if(n==3) printf("%d %d %d %dn",n,c,d,e);
else if(n==4) printf("%d %d %d %d %dn",n,b,c,d,e);
else if(n==5) printf("%dn%d %d %d %d %dn",n,a,b,c,d,e);
if(n==5)j=e*10000+d*1000+c*100+b*10+a;
else if(n==4)j=e*1000+d*100+c*10+b;
else if(n==3)j=e*100+d*10+c;
else if(n==2)j=e*10+d;
else j=e;
printf("%dn",j);
return 0;
}}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Skip 原站点 Dreams孤独患者
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist