大致思路:
* 对输入的数据做取余运算,在所取对应位的余数不为零时,输出位数、每位数的数值,及反序的数。
* 值得注意的是,要区分好逻辑关系,当输入的数大于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语言程序设计教程(第三版)课后习题6.2 (C++代码)浏览:999 |
C语言训练-舍罕王的失算 (C语言代码)浏览:1054 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:657 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:543 |
P1002 (C语言代码)浏览:1019 |
求圆的面积 (C语言代码)浏览:1366 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
WU-整数平均值 (C++代码)浏览:1307 |
三角形 (C语言代码)浏览:965 |