c++二维数组点阵打字
时间: 2023-11-30 12:42:35 浏览: 240
以下是一个简单的C++二维数组点阵打字的例子:
```c++
#include <iostream>
#include <string>
using namespace std;
const int ROW = 5; // 定义点阵的行数
const int COL = 5; // 定义点阵的列数
// 定义点阵字母A到Z的二维数组
char letters[26][ROW][COL] = {
{
{'*', '*', '*', '*', '*'},
{'*', ' ', ' ', ' ', '*'},
{'*', '*', '*', '*', '*'},
{'*', ' ', ' ', ' ', '*'},
{'*', ' ', ' ', ' ', '*'}
},
{
{'*', '*', '*', '*', ' '},
{'*', ' ', ' ', ' ', '*'},
{'*', '*', '*', '*', ' '},
{'*', ' ', ' ', ' ', '*'},
{'*', '*', '*', '*', ' '}
},
// ... 其他字母的点阵数组
};
// 打印单个字母的点阵
void printLetter(char letter) {
int index = letter - 'A'; // 计算字母在数组中的下标
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
cout << letters[index][i][j];
}
cout << endl;
}
}
// 打印字符串的点阵
void printString(string str) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < str.length(); j++) {
int index = str[j] - 'A'; // 计算字母在数组中的下标
for (int k = 0; k < COL; k++) {
cout << letters[index][i][k];
}
cout << ' '; // 字母之间用空格隔开
}
cout << endl;
}
}
int main() {
string str = "HELLO";
printString(str);
return 0;
}
```
运行结果:
```
* * * * * * * * * * *
* * * * *
* * * * * * * * * *
* * * * * *
* * * * * *
```
阅读全文