先看结果:
代码解析!
解析:
#include<stdio.h> int main() { int count,a,b,c,d,e,n; printf("请输入数字:"); scanf("%d",&count); //输入 a=count/10000; //如果是五位数,将万位上的数赋值给a,如果不是则为0 b=count/1000%10; //如果是四位数,将千位上的数赋值给b,如果是五位数,则b是十位上的数,否则0 c=count/100%10; //如果是三位数,将百位上的数赋值给c,如果是三位以上,则c依次,否则0 d=count/10%10; //如果是两位数,将十位上的数赋值给d,如果是两位以上,则d依次,否则0 e=count%10; //同上 //依次判断a、b、c、d、e是否为零,不为零则打印各位数,并输出是几位数 if(a!=0){ printf("%d %d %d %d %d\n",e,d,c,b,a);printf("位数为5"); }else if(b!=0){ printf("%d %d %d %d\n",e,d,c,b);printf("位数为4"); }else if(c!=0){ printf("%d %d %d\n",e,d,c);printf("位数为3"); }else if(d!=0){ printf("%d %d\n",e,d);printf("位数为2"); }else if(e!=0){ printf("%d\n",e);printf("位数为1"); } return 0; }
干净的代码:
#include<stdio.h> int main() { int count,a,b,c,d,e,n; printf("请输入数字:"); scanf("%d",&count); a=count/10000; b=count/1000%10; c=count/100%10; d=count/10%10; e=count%10; if(a!=0){ printf("%d %d %d %d %d\n",e,d,c,b,a);printf("位数为5"); }else if(b!=0){ printf("%d %d %d %d\n",e,d,c,b);printf("位数为4"); }else if(c!=0){ printf("%d %d %d\n",e,d,c);printf("位数为3"); }else if(d!=0){ printf("%d %d\n",e,d);printf("位数为2"); }else if(e!=0){ printf("%d\n",e);printf("位数为1"); } return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66254.html