#include<stdio.h>
int main()
{
    int n,a,b,c,d,e;//n为数字,abcde表示数字
    scanf("%d",&n);
    e=n%10;
    d=(n%100)/10;
    c=(n%1000)/100;
    b=(n%10000)/1000;
    a=n/10000;
    if (a>0)printf("5\n");
    else if (b>0)printf("4\n");
    else if (c>0)printf("3\n");
    else if (d>0)printf("2\n");
    else printf("1\n");
    printf("%d %d %d %d %d\n",a,b,c,d,e);
    printf("%d%d%d%d%d\n",e,d,c,b,a);
    return 0;
}


点赞(110)
 

0.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 35 条评论

Ryan 5年前 回复TA
#include<stdio.h>
#include<math.h>
int main()
{
	int t,a,b,c,d,e;
	int i=0;
	
	scanf("%d",&t);
	a=(t%100000)/10000;
	b=(t%10000)/1000;
	c=(t%1000)/100;
	d=(t%100)/10;
	e=t%10;
	
	
	
	while(t!=0)
	{
	    t=t/10;     
	    i++;
	}
	
	if(a>0)
	{
	printf("%d\n",i);
	printf("%d %d %d %d %d\n",a,b,c,d,e);
	printf("%d%d%d%d%d\n",e,d,c,b,a);
	}
	
	else if(b>0)
	{
	printf("%d\n",i);
	printf("%d %d %d %d\n",b,c,d,e);
	printf("%d%d%d%d\n",e,d,c,b);
	}
	
	else if(c>0)
	{
	printf("%d\n",i);
	printf("%d %d %d\n",c,d,e);
	printf("%d%d%d\n",e,d,c);
	}
	
	else if(d>0)
	{
	printf("%d\n",i);
	printf("%d %d\n",d,
天空 5年前 回复TA
#include<stdio.h>
int main()
{
    int n,a,b,c,d,e,t;
    scanf("%d",&n);
    e=n%10;
    d=(n%100)/10;
    c=(n%1000)/100;
    b=(n%10000)/1000;
    a=n/10000;
    if (a>0) t=5;
    else if (b>0) t=4;
    else if (c>0) t=3;
    else if (d>0) t=2;
    else t=1;
    printf("%d\n",t);
    switch(t)
    {
    	case 1:
    		printf("%d\n",e);
            printf("%d\n",e);
            break;
        case 2:
        	printf("%d %d\n",d,e);
            printf("%d%d\n",e,d);
            break;
        case 3:
        	printf("%d %d %d\n",c,d,e);
            printf("%d%d%d\n",e,d,c);
  根据楼主的修改的
Grassics 5年前 回复TA
@xiaohouge 非常明了,虽然打出来麻烦了一点
simplelife 5年前 回复TA
@xiaohouge 你这个代码是我看的最符合选择结构的答案
xiaohouge 5年前 回复TA
#include<stdio.h>
int main()
{	int n,a,b,c,d,e;
    scanf("%d",&n);e=n%10;d=(n%100)/10;c=(n%1000)/100;b=(n%10000)/1000;a=n/10000;
    if (a>0){	printf("5\n");
		printf("%d %d %d %d %d\n",a,b,c,d,e);
		printf("%d%d%d%d%d\n",e,d,c,b,a);	}
	else if (b>0){	printf("4\n");
		printf("%d %d %d %d\n",b,c,d,e);
		printf("%d%d%d%d\n",e,d,c,b,a);	}
    else if (c>0){	printf("3\n");
		printf("%d %d %d\n",c,d,e);
		printf("%d%d%d\n",e,d,c);	}
    else if (d>0){	printf("2\n");
		printf("%d %d\n",d,e);
		printf("%d%d\n",e,d);	}
    else{	printf("1\n");
		printf("%d\n",e);
		printf("%d\n",e);	}
    return 0;}
KD973 6年前 回复TA
输入100就不对了
yoleen 6年前 回复TA
@云海 的确,不完善
我是真的不会编程 6年前 回复TA
@木苏 不对
hold魔 6年前 回复TA
@c无言 如果输入0,while循环就不循环了
云海 6年前 回复TA
缺陷太大了,如果数比较小,把0都输出来了 。