1.题目要求
2.思路
step1:需要一个10×7的二维数组来确定每个数字该显示的部分,比如数字9需要在题目所示图片的0,1,2,3,5,6的位置显示 - 或者 | ,因为一共有0-9(10个数字,每个数字有7个位置要确定),所以需要10×7的二维数组
step2:手动地将所有的数字显示形状在纸上画出来,再根据图片将0-9的数字转换成数组形式,如下:
int num[10][7]={
{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}};
step3:根据需要显示的数字一行一行的(共5行)将它打印出来
3.代码
#include <stdlib.h>
int num[10][7]={{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}};
/*从第一行的代表0的开始,如果0的位置需要输出,
第一行需要打印 '空格-空格',否则打印 '空格空格空格\n'
以此类推
*/
int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
if(num[x][0]) printf(" - \n");
else printf(" \n");
if(num[x][5]) printf("| ");
else printf(" ");
if(num[x][1]) printf("|\n");
else printf(" \n");
if(num[x][6]) printf(" - \n");
else printf(" \n");
if(num[x][4]) printf("| ");
else printf(" ");
if(num[x][2]) printf("|\n");
else printf(" \n");
if(num[x][3]) printf(" - \n");
else printf(" \n");
}
return 0;
}