用*输出点阵汉字c语言
时间: 2024-11-03 07:17:34 浏览: 149
在C语言中,用字符数组来输出点阵表示汉字是一种常见的技术,尤其是对于ASCII码范围内的简体字。下面是一个简单的例子,展示如何用7x9点阵显示汉字"中":
```c
#include <stdio.h>
#include <string.h>
// 点阵字模库,这里仅示例部分汉字字模
char font[] = {
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 横线
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第一行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第二行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第三行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第四行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第五行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第六行
' ', ' ', '*', '*', '*', '*', '*', '*', '*', // 中字的点阵
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 第七行
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 最后一行
};
void print_chinese_char(char ch) {
int i, j;
for (i = 0; i < 9; i++) { // 每行9个点
for (j = 0; j < 7; j++) {
if (font[ch - 'A' + j * 9 + i] == '*') {
printf("*");
} else {
printf(" ");
}
}
printf("\n"); // 换行
}
}
int main() {
char chinese_chars[] = "中国";
for (char c : chinese_chars) {
if ('A' <= c && c <= 'Z') { // 只处理大写字母,ASCII码范围内的简体字
print_chinese_char(c);
}
}
return 0;
}
阅读全文