#include <stdio.h>
#include <string.h>
int row;
int col;
int input;
int offset;
char ascii[7][580] = {
" * * * * * * ** ** * * * * *** ***** ***** ***** ***** ***** ***** ***** ***** ***** * * ** *** *** **** **** **** ***** ***** **** * * ***** ***** * * * * * * * *** **** *** **** **** ***** * * * * * * * * * * ***** *** * *** * * * * ** * ** * ** * ** ",
" * * * * * **** ** * * * * * * * * * * * * * ***** ***** ***** ***** ***** ***** ***** ***** ***** ** ** * * * * * * * * * * * * * * * * * * * * * * ** ** ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ",
" * * * ***** * * * * * * * * *** * * * * ***** ***** ***** ***** ***** ***** ***** ***** ***** ** ** * ***** * * * ** * * * * * * * * * * * * * * * * * ** ** ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * *** * *** * *** * **** * * * * * * **** **** *** **** **** * ** *** ***** * * * * * * * * * * ***** * * * * ",
" * * * *** * * * * * *** ***** * * * ***** ***** ***** ***** ***** ***** ***** ***** ***** * * ** * * * ***** **** * * * ***** ***** * *** ***** * * ** * * * * * * * * * **** * * **** *** * * * * * * * * * * * * * * * **** * * **** * * ***** * * **** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *",
" * ***** * * * * * * * * *** * ** ** * * * ***** ***** ***** ***** ***** ***** ***** ***** ***** ** ** * ***** * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * ** ** * * * * * * * **** * * * * * ***** * **** * * * * ** * * * * * * * * **** **** * *** * * * * * * * * * * * * * * * ",
" * * **** * ** * * * * * * * * ** ** * * * ***** ***** ***** ***** ***** ***** ***** ***** ***** ** ** * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * ** * * * * * * * * ** ** * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * ",
" * * * * ** ** * * * * * *** ***** ***** ***** ***** ***** ***** ***** ***** ***** * * * * *** * * **** **** **** ***** * *** * * ***** ** * * ***** * * * * *** * **** * * **** * *** * * * * * * ***** *** * *** ***** *** *** *** *** *** * *** * * *** ** * * *** * * * * * *** * ** * *** ** **** * * * * * * * ***** ** * ** ",
};
int main(int argc, char const *argv[]){
//for loop for the rows down
for(row = 0; row < 7; row++){
printf("%c", ascii[row][col]);
//columns for each segment of stars or space
for(col = 0; col < 6; col++){
}//end of cols
}//end of rows
}
我使用了一个二维数组来存储ascii值的模型,我没有添加数字,我希望能够使用终端来输入字母和符号,然后让它们以星号值打印,有谁能帮助我理解如何做到这一点。
最佳答案
假设注释掉的for循环将当前字符分配给变量ch
:
putchar(ascii[row][(ch - 32)*6 + col]);
(ch-32)
将带您进入“字体”的开头。(ch-32)*6
将跳过字体中所有先前字符的所有“星型列”。(ch-32)*7 + col
选择当前字符的当前“星型列”。void print_line(char *str)
{
char ch, *p;
int row, col;
for (row = 0; row < 7; row++)
{
for (p = str; ch = *p; p++)
{
/* Check that ch is in the printable range of ASCII. */
if (ch < 32 || ch > 95)
ch = '?'; /* or continue; */
for (col = 0; col < 6; col++)
putchar(ascii[row][(ch - 32)*6 + col]);
}
putchar('\n');
}
}
此函数一次只能处理一行。
关于c - 需要帮助了解如何使用get char在终端中键入句子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40177767/