解题思路:

注意事项:

参考代码:

#include<stdio.h>
void Paint(unsigned long  a,int i)
{
    char zeno[5][4]={"***","* *","* *","* *","***"};
    char one[5][4]={"  *","  *","  *","  *","  *"};
    char two[5][4]={"***","  *","***","*  ","***"};
    char three[5][4]={"***","  *","***","  *","***"};
    char four[5][4]={"* *","* *","***","  *","  *"};
    char five[5][4]={"***","*  ","***","  *","***"};
    char six[5][4]={"***","*  ","***","* *","***"};
    char seven[5][4]={"***","  *","  *","  *","  *"};
    char eight[5][4]={"***","* *","***","* *","***"};
    char nine[5][4]={"***","* *","***","  *","***"};
 	switch(a)
	{
		case 0:
				printf("%s",zeno[i]);
		break;
		case 1:
				printf("%s",one[i]);
		break;
		case 2:
				printf("%s",two[i]);
		break;
		case 3:
				printf("%s",three[i]);
		break;
		case 4:
				printf("%s",four[i]);
		break;
		case 5:
				printf("%s",five[i]);
		break;
		case 6:
				printf("%s",six[i]);
		break;
		case 7:
				printf("%s",seven[i]);
		break;
		case 8:
				printf("%s",eight[i]);
		break;
		case 9:
				printf("%s",nine[i]);
		break;
	}
}
int main()
{
	unsigned long n;
	int N[20],i,j,m,flag;
	char zeno[5][4]={"***","* *","* *","* *","***"};
	while(scanf("%ul",&n)!=EOF)
	{
		flag=0;
		if(n==0)//别忘了0
		{
			flag=1;
			for(i=0;i<5;i++)
			{
			 	printf("%s\n",zeno[i]);
			}	
		}
		i=0;
		while(n!=0)//求出每一位数字
		{
			N[i]=n%10;
			n=n/10;
			i++;
		}
		m=i;
		for(i=0;i<5;i++)
		{
			for(j=m-1;j>=0;j--)
			{
				Paint(N[j],i);
				if(j!=0)//数字和数字之间空一列
				printf(" ");
			}
			if(flag==0)
			printf("\n");
		}
	}
	return 0;
}


点赞(1)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论