1.1 利用七段数码管绘制三行信息:当前系统时间、你自己的学号、字母(ABCDEF)
时间: 2023-12-24 22:04:15 浏览: 143
七段数码管绘制
很高兴回答你的问题!以下是利用七段数码管绘制三行信息的代码:
```c
#include <stdio.h>
#include <time.h>
int main() {
// 获取当前系统时间
time_t now;
time(&now);
struct tm *local = localtime(&now);
int hour = local->tm_hour;
int minute = local->tm_min;
int second = local->tm_sec;
// 七段数码管的字符表示
char digits[10][7] = {
{'_', '|', '|', ' ', '|', '|', '_'},
{' ', ' ', '|', ' ', ' ', '|', ' '},
{'_', ' ', '|', '_', '|', ' ', '_'},
{'_', ' ', '|', '_', ' ', '|', '_'},
{' ', '|', '|', '_', ' ', '|', ' '},
{'_', '|', ' ', '_', ' ', '|', '_'},
{'_', '|', ' ', '_', '|', '|', '_'},
{'_', ' ', '|', ' ', ' ', '|', ' '},
{'_', '|', '|', '_', '|', '|', '_'},
{'_', '|', '|', '_', ' ', '|', '_'}
};
// 绘制当前系统时间
printf("Current Time: %02d:%02d:%02d\n", hour, minute, second);
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 8; j++) {
if (j == 2 || j == 5) {
printf(" ");
}
printf("%c", digits[hour / 10][i]);
printf("%c", digits[hour % 10][i]);
printf("%c", digits[10][i]); // 冒号
printf("%c", digits[minute / 10][i]);
printf("%c", digits[minute % 10][i]);
printf("%c", digits[10][i]); // 冒号
printf("%c", digits[second / 10][i]);
printf("%c", digits[second % 10][i]);
printf("\n");
}
}
// 绘制学号
printf("Student ID: 1234567890\n");
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 10; j++) {
if (j == 1 || j == 4 || j == 7) {
printf(" ");
}
printf("%c", digits[j][i]);
}
printf("\n");
}
// 绘制字母
printf("Letters: ABCDEF\n");
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 6; j++) {
if (j == 2) {
printf(" ");
}
printf("%c", digits[10 + j][i]);
}
printf("\n");
}
return 0;
}
```
这段代码会先获取当前系统时间,然后利用七段数码管的字符表示,绘制出三行信息:当前系统时间、你自己的学号、字母(ABCDEF)。需要注意的是,每个数字之间需要用一个空格隔开。
阅读全文