七段显示器显示整数
編寫程序,輸入一個整數,使用字符模擬七段顯示器來輸出該數。
計算器、電子手表和其它電子設備經常依靠七段顯示器進行數值的輸出。為了組成數字,這類設備需要“打開”7個顯示段中的某些部分,同時“關閉”其它部分:
需要設置一個數組來保存顯示0到9數字時需要“打開”和“關閉”的顯示段。
#include<string.h> ? ? ? ? ? ? ?//第L題
#define MAX 10
const char s[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}, };
char r[3][MAX * 4];
void clear(void) ? ? ? ? ? ? ? ?//給空格
{
? ? int i, j;
? ? for (i = 0; i < 3; i++)
? ? {
? ? ? ? for (j = 0; j < MAX * 4; j++)
? ? ? ? {
? ? ? ? ? ? r[i][j] = ' ';
? ? ? ? }
? ? }
}
void process_d(int d, int pos)
{
? ? int p = pos * 4;
? ? if (s[d][0])
? ? ? ? r[0][p + 1] = '_';
? ? if (s[d][5])
? ? ? ? r[1][p] = '|';
? ? if (s[d][6])
? ? ? ? r[1][p + 1] = '_';
? ? if (s[d][1])
? ? ? ? r[1][p + 2] = '|';
? ? if (s[d][4])
? ? ? ? r[2][p] = '|';
? ? if (s[d][3])
? ? ? ? r[2][p + 1] = '_';
? ? if (s[d][2])
? ? ? ? r[2][p + 2] = '|';
}
void print(int m, int n)
{
? ? for (int i = 0; i < m; i++)
? ? {
? ? ? ? for (int j = 0; j < n * 4; j++)
? ? ? ? {
? ? ? ? ? ? putchar(r[i][j]);
? ? ? ? }
? ? ? ? putchar('\n');
? ? }
}
int main()
{
? ? char d[MAX];
? ? while (scanf("%s", d) != EOF)
? ? {
? ? ? ? int len = strlen(d), i;
? ? ? ? clear();
? ? ? ? for (i = 0; i < len; i++)
? ? ? ? {
? ? ? ? ? ? process_d(d[i] - '0', i);
? ? ? ? }
? ? ? ? print(3, len);
? ? }
? ? return 0;
}
總結
- 上一篇: 计算机显示屏原理,解密:七段显示的工作原
- 下一篇: 阿里、有道科大讯飞齐为荣耀Magic2打