#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/

10-13 09:53