C语言编写数码管99-0显示
时间: 2024-03-21 12:39:41 浏览: 53
以下是一个简单的C语言程序,用于在数码管上显示99-0:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
// 定义数码管的数字
const char digit[10][5][4] = {
{ " #", " # ", " # ", " # ", " #" }, // 0
{ " ", " |", " ", " |", " " }, // 1
{ " #", " |", " #", " | ", " #" }, // 2
{ " #", " |", " #", " |", " #" }, // 3
{ " ", " #|", " #", " |", " " }, // 4
{ " #", " | ", " #", " |", " #" }, // 5
{ " #", " | ", " #", " #|", " #" }, // 6
{ " #", " |", " ", " |", " " }, // 7
{ " #", " #|", " #", " #|", " #" }, // 8
{ " #", " #|", " #", " |", " #" } // 9
};
// 延时函数
void delay(int milliseconds) {
clock_t start = clock();
while ((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds);
}
// 清屏函数
void clear() {
system("cls");
}
// 数码管显示函数
void display(int num) {
int i, j, k;
char num_str[3];
sprintf(num_str, "%02d", num); // 将数字转化为字符串
clear(); // 清屏
for (i = 0; i < 5; i++) {
for (j = 0; j < 2; j++) {
for (k = 0; k < 3; k++) {
putchar(digit[num_str[j] - '0'][i][k]); // 显示数字
}
putchar(' '); // 数字之间留一个空格
}
putchar('\n'); // 每行结束换行
}
}
int main() {
int i;
for (i = 99; i >= 0; i--) {
display(i); // 显示数字
delay(1000); // 延时1秒
}
return 0;
}
```
这个程序使用了一个 `digit` 数组来存储每个数字在数码管上的显示方式。`delay` 函数用于延时,`clear` 函数用于清屏,`display` 函数用于显示数字。在 `main` 函数中,程序从 99 开始递减到 0,并在每次递减后调用 `display` 函数显示当前数字。
阅读全文