原题链接:[编程入门]数字的处理与判断
原题链接:C语言程序设计教程课后习题5.7
大致思路:
* 对输入的数据做取余运算,在所取对应位的余数不为零时,输出位数、每位数的数值,及反序的数。
* 值得注意的是,要区分好逻辑关系,当输入的数大于5位时,就不符合题目条件,就得重新输入一个符合条件的数。
* 如下是我参考别人的代码,然后改了部分逻辑关系,自己加了部分,总体还是符合逻辑要求,只是代码有很大部分重复,我想过用函数或者数组来简化重复的代码,只是暂时还没想好。
* 如果大家有什么更好的想法,欢迎在评论区分享
参考代码:
#include<stdio.h> int main() { int a,g,s,b,q,w,m; scanf("%d",&a); if(a<0||100000<=a) printf("请重新输入"); else{ w=a%100000/10000; q=a%10000/1000; b=a%1000/100; s=a%100/10; g=a%10; if(w!=0){ m=g*10000+s*1000+b*100+q*10+w; printf("5\n%d %d %d %d %d\n%d",w,q,b,s,g,m) ; } else if(q!=0) { m=g*1000+s*100+b*10+1; printf("4\n%d %d %d %d\n%d",q,b,s,g,m) ; } else if(b!=0) { m=g*100+s*10+b; printf("3\n%d %d %d\n%d",b,s,g,m) ; } else if(s!=0){ m=g*10+s; printf("2\n%d %d\n%d",s,g,m) ; } else { m=g; printf("1\n%d\n%d",g,m) ; } } }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复