【C语言】七段显示器输出数字

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;
}

猜你喜欢

转载自blog.csdn.net/qq_46126258/article/details/106659931